Ссылки

Вниманию разработчиков!

Для облегчения Ваших усилий создана утилита, которая в автоматическом режиме создает структуру, описанную в настоящей статье. Кроме того, утилита выполняет sql-запрос, подключающий создаваемый компонент к движку. Предупреждаем, что использование утилиты не освобождает Вас от изучения документации!

Файлы и папки

Все компоненты хранятся в папке components.
Каждый компонент лежит в собственной папке, название которой совпадает с названием компонента 1).

Компоненты обычно состоят из двух частей - лицевой (frontend) и служебной (backend).
Лицевая часть доступна при просмотре сайта, служебная - для настройки компонента в панели управления.
Если компонент не имеет настроек, то служебная часть может отсутствовать.

www.instantcms.ru_images_docs_com-tree.jpg

На рисунке показан типичный состав папки, на примере компонента content.
В папке компонента могут быть следующие составляющие:

  • Любые папки с файлами, необходимые для работы компонента (например js, images и т.п.) - не обязательно
  • index.html - пустой файл, нужен для предотвращения прямого доступа к папке через адрес
  • frontend.php - файл контроллера компонента, в нем реализуется основная логика - обязателен
  • model.php - файл модели компонента - обязателен, если компонент обращается к БД
  • psearch.php - файл для интеграции с поиском по сайту - не обязателен
  • prss.php - файл для интеграции с RSS - не обязателен
  • router.php - файл содержащий правила роутинга - обязателен, если вывод компонента состоит более чем из одной страницы
  • install.php - файл установщика компонента - обязателен, если компонент распространяется отдельно от системы

Приведенный список показывает файлы, необходимые для работы лицевой части компонента.

Если компоненту требуется интерфейс для настройки через панель управления, то дополнительно создается папка с именем компонента внутри папки /admin/components,
и в ней - файл backend.php:

www.instantcms.ru_images_docs_com-tree-adm.jpg

Если компонент имеет страницы вывода на сайте, то для каждой из них должен быть создан tpl-шаблон внутри папки /templates/_default_/components.
Название каждого tpl-шаблона формируется по принципу:

com_<название компонента>_<название страницы>.tpl

Например для страницы «Просмотр статьи» компонента «content» шаблон будет называться com_content_read.tpl:

www.instantcms.ru_images_docs_com-tree-tpl.jpg

Админка компонента

Админка компонента (если она есть) представлена файлом /admin/components/content/backend.php (в данном случае content – название Вашего компонента).
Не забудте положить в эту папку, рядом с backend.php еще один пустой файл – index.html, для предотвращения прямого доступа к тексту бакэнда.

К оглавлению | Часть 2: Создание компонента на примере

1) здесь и далее под названием компонента мы будем подразумевать его текстовый идентификатор, такой как «photos», «catalog» или «board»
 
разработка/компоненты/файлы_и_папки.txt · Последние изменения: 2013/06/25 09:55 От stroller7