Структура шаблонов компонента материалов - com_content
Рассмотрим все заложенные возможности шаблона стандартных материалов компонента com_content. Для примера можно взять содержимое папки \templates\beez\html\com_content\ и положить в свой шаблон.
Содержимое данного каталога представлено в виде 4-х папок с соответствующими шаблонами представлений
- article
- default.php - - собственно оконечная страница материала (view=article), отрабатывает плагины на событие afterDisplayContent
- form.php - стандартная форма добавления материала с фронтенда
- category
- blog.php - материалы категории в формате блога как бы общий каркас (view=category&layout=blog): описание категории, разбиение на колонки, ссылки типа "еще", постраничная навигация
- blog_item.php - связан напрямую с blog.php - показывает непосредственно элемент статьи формата блог: заголовок, даты, автор, вступительный текст, подробнее, отрабатывает плагины на событие afterDisplayContent
- blog_links.php - связан напрямую с blog.php, показывает ссылки типа "еще", по умолчанию в формате UL LI
- default.php - список материалов категории (view=category): заголовок категории, описание, вывод материалов категории в виде таблицы
- default_items.php - связан напрямую с default.php - формирует таблицу материалов (номер, заголовок, дата, хиты), фильтры над таблицей, постраничную навигацию
- frontpage - шаблон только главной страницы, что работает по умолчанию
- default.php - аналог category\blog.php
- default_item.php - аналог category\blog_item.php
- default_links.php - аналог category\blog_links.php
- section
- blog.php - материалы раздела в формате блога (view=section&layout=blog), аналогичен category\blog.php
- blog_item.php - аналогичен category\blog_item.php, отображает каждый элемент блога раздела
- blog_links.php - аналогичен category\blog_links.php, показывает ссылки типа "еще" в блоге раздела
- default.php - стандартный шаблон раздела (view=section), показывает заголовок категории, описание, кол-во элементов. По нажатию на заголовок категории дальнейшая страница обрабатывается шаблоном category\default.php
Если каталог \templates\<my_template>\html\com_content\ отсутствует в шаблоне, значит отрабатывают оригинальные темплейты компонента, находится в components\com_content\views\<viewName>\tmpl. Существует еще дополнительный вид - архив. Он используется редко, работать с ним можно по аналогии.
Как нам добавить дополнительные данные к стандартному контенту?
Для этого нам необходимо работать с моделью, каталог com_content\models\, в нем 4 нужных нам файла
- article.php
- category.php
- frontpage.php
- section.php
- archive.php
Название совпадает с названием вида (шаблона) по идеологии MVC. Напомним что модель занимается выборкой данных из базы данных. Таким образом, можно найти метод который отвечает за выборку из базы данных и изменить его на свое усмотрение. В данном случае это _buildQuery.