AbstractModule implements ModuleInterface, ConfigurableInterface, SubmoduleProviderInterface

AbstractYes

Abstract base class for Admin Panel Modules containing helper methods and default interface implementations Extend this class when writing own admin panel modules (or implement the Interface directly)

Table of Contents

Interfaces

ModuleInterface
Adminpanel interface for all modules
ConfigurableInterface
AdminPanel ConfigurableInterface
SubmoduleProviderInterface
Adminpanel interface providing hierarchical functionality for modules

Properties

$configurationService  : ConfigurationService
$mainConfiguration  : array<string|int, mixed>
Main Configuration (from UserTSConfig, admPanel)
$moduleData  : ModuleDataStorageCollection
$subModules  : array<string|int, ModuleInterface>

Methods

getSubModules()  : array<string|int, ModuleInterface>
Returns an array of module instances
hasSubmoduleSettings()  : bool
Return true if any of the submodules has settings to be rendered (can be used to render settings in a central place)
injectConfigurationService()  : void
isEnabled()  : bool
Returns true if the module is -> either enabled via TSConfig "admPanel.enable" -> or any setting is overridden.
setModuleData()  : void
setSubModules()  : void
Sets array of module instances (instances of `ModuleInterface`) as submodules
getBackendUser()  : BackendUserAuthentication
getLanguageService()  : LanguageService
isEnabledViaTsConfig()  : bool
Returns true if TSConfig "admPanel.enable" is set for this module (or all modules)

Properties

$mainConfiguration

Main Configuration (from UserTSConfig, admPanel)

protected array<string|int, mixed> $mainConfiguration

Methods

hasSubmoduleSettings()

Return true if any of the submodules has settings to be rendered (can be used to render settings in a central place)

public hasSubmoduleSettings() : bool
Return values
bool

injectConfigurationService()

public injectConfigurationService(ConfigurationService $configurationService) : void
Parameters
$configurationService : ConfigurationService
Tags
todo:

See comment in MainController why DI in adminpanel modules that implement DataProviderInterface is a bad idea.

isEnabled()

Returns true if the module is -> either enabled via TSConfig "admPanel.enable" -> or any setting is overridden.

public isEnabled() : bool

Override is a way to use functionality of the admin panel without displaying the admin panel to users for example: hidden records or pages can be displayed by default

Return values
bool

setSubModules()

Sets array of module instances (instances of `ModuleInterface`) as submodules

public setSubModules(array<string|int, mixed> $subModules) : void
Parameters
$subModules : array<string|int, mixed>

isEnabledViaTsConfig()

Returns true if TSConfig "admPanel.enable" is set for this module (or all modules)

protected isEnabledViaTsConfig() : bool
Return values
bool

        
On this page

Search results