Files and Folders
Each component has its own folder inside /system/controllers.
For example, the files of the groups (User groups) component are located in the /system/controllers/groups folder:
There are several nested folders and files in the component folder:
- actions - frontend-controller’s action files
- backend - files related to the component’s administrative part
- forms - files containing descriptions of input forms used in the frontend-controller
- hooks - hook files (event processors)
- backend.php - main file of the component’s backend-controller
- frontend.php - main file of the component’s frontend-controller
- custom.php - file that overrides and/or supplements the component’s frontend-controller
- manifest.php - file with the component description (manifest)
- model.php - component model
All listed files and folders are optional. The component always contains only those that implement needed logic. For example, there can be only a model or a frontend-controller.
Component Templates
Templates related to a component are stored in the /templates/{theme title}/controllers/{component title} folder.
Frontend-template files are located in the root of this folder. Backend-template files are located in the nested backend folder.
For example, frontend-templates of the groups component are stored in /templates/default/controllers/groups, while backend-templates are stored in /templates/default/controllers/groups/backend.