Каждый компонент имеет собственную папку внутри /system/controllers.
Например, файлы компонента groups (Группы пользователей) находятся в папке /system/controllers/groups:
В папке компонента находятся несколько вложенных папок и файлов:
Все перечисленные файлы и папки не являются обязательными. В компоненте всегда присутствуют только те из них, которые необходимы для реализации нужной логики. Например, может существовать только модель или только frontend-контроллер.
Шаблоны, относящиеся к компоненту, хранятся в папке /templates/{имя темы}/controllers/{имя компонента}.
Файлы frontend-шаблонов лежат прямо в корне этой папки. Файлы backend-шаблонов лежат во вложенной папке backend.
Например, frontend-шаблоны компонента groups хранятся в /templates/default/controllers/groups, а backend-шаблоны в /templates/default/controllers/groups/backend.
В папку /templates/{имя темы}/controllers/{имя компонента} можно поместить файл стилей styles.css. При наличии этого файла, система автоматически подключит его при вызове компонента.