Форум русской поддержки Joomla!® CMS
25.02.2017, 17:39:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Joomla - марафон. Сайт на миллион
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Структура шаблона com_content

 (Прочитано 56347 раз)
0 Пользователей и 1 Гость смотрят эту тему.
beliyadm
Профи
********

Репутация: +1588/-63
Offline Offline

Пол: Мужской
Сообщений: 8421


Севастополь == Россия


« : 23.10.2009, 02:59:04 »

Рассмотрим по очереди все заложенные возможности шаблона стандартных материалов компонента com_content. Для затравки можно взять содержимое папки \templates\beez\html\com_content\ и положить в свой шаблон. Там конечно не все идеально, но данный стандартный шаблон построен на div и имеет все вьюшки контента.
Кому есть чем дополнить (либо поправить если где ошибаюсь) - милости просим

Содержимое данного каталога представлено в виде 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\ВашШаблон\html\com_content\ отсутствует в шаблоне, значит отрабатывают оригинальные темплейты компонента, находится в components\com_content\views\НужноеПредставление\tmpl (там есть еще и archive, используется редко такой вывод, потому не рассматривал, разобраться по аналогии несложно)

И последний на этот раз аспект (вопрос уж очень часто поднимается на форуме). Как нам добавить дополнительные данные к стандартному контенту (к примеру количество хитов в формат блога категории либо любое другое)?
Для этого нам необходимо работать с моделью, каталог com_content\models\, в нем 4 нужных нам файла (архив не рассматриваю)
 - article.php
 - category.php
 - frontpage.php
 - section.php
Посмотрев на названия и прочитав пару абзацев выше понятно кто за что отвечает.
Потому в данном примере мы заходим в  category.php и находим там глобальный SQL запрос (в каждой моделе он находится в функции function _buildQuery) и добавляем в выборку нужный элемент.
Код
SELECT ......, a.hits AS articlehits, .....
Все, после этого отправляемся в шаблон category\blog_item.php и в нужном месте дописываем
Код
<?php echo $this->item->articlehits; ?>

P.S. прошу прощения, но на вопросы 1-го класса как работать с sql запросами, показать элемент языкового файла, расстановка кавычек и подобные не отвечаю
Записан
 
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet