|  | 
| static | getModuleInstanceByTypeAndName ($sType, $sName) | 
|  | 
| static | getClassNameByTypeAndName ($sType, $sName= '') | 
|  | 
| static | getDisplayNameByTypeAndName ($sType, $sName, $sLanguageId=null) | 
|  | 
| static | getPathArrayByTypeAndName ($sType, $sName) | 
|  | 
| static | getModuleInfoByTypeAndName ($sType, $sName) | 
|  | 
| static | isModuleEnabled ($sType, $sName) | 
|  | 
| static | getDefaultRolesForModule () | 
|  | 
| static | isModuleAllowed ($sType, $sName, $oUser=null) | 
|  | 
| static | getModuleMetadataByTypeAndName ($sType, $sName) | 
|  | 
| static | moduleExists ($sModuleName, $sType=null) | 
|  | 
| static | listModulesByType ($sType, $bListEnabledOnly=true) | 
|  | 
| static | listModulesByTypeAndAspect ($sType, $sAspect, $bListEnabledOnly=true) | 
|  | 
| static | listModuleTypes () | 
|  | 
| static | listAllModules ($bListEnabledOnly=true) | 
|  | 
| static | getType () | 
|  | 
| static | listModules ($bListEnabledOnly=true) | 
|  | 
| static | listModulesByAspect ($sAspect, $bListEnabledOnly=true) | 
|  | 
| static | getClassNameByName ($sModuleName) | 
|  | 
| static | getNameByClassName ($sClassName) | 
|  | 
| static | getDisplayNameByName ($sModuleName, $sLangugaeId=null) | 
|  | 
| static | getModuleInstance ($sModuleName) | 
|  | 
| static | moduleName () | 
|  | 
| static | isValidModuleClassName ($sName) | 
|  | 
| static | isValidModuleClassNameOfAnyType ($sName) | 
|  | 
| static | isSingleton () | 
|  | 
Module is the base class for all modules. There are currently five types of modules: page type, filter, file, frontend and admin modules. Read the description in those files to see what they do. All modules are found in the folder modules/module_type under either the root or site folder
Modules always have the following directory structure:
module_name/
 templates/ (optional, can be read with $this->constructTemplate('name') inside the module)
 lang/ (optional, contains translation files with strings)
 ModuleNameModuleTypeModule.php (contains the actual module code)
 info.yml (optional) contains info about the module as well as permission settings
 - See also
- PageTypeModule 
- 
FrontendModule 
- 
AdminModule 
- 
FileModule 
- 
FilterModule