Шаблоны модулей
Шаблон модуля – это совокупность файлов в папке modules/имя_модуля/views.
Шаблоны модулей отвечают за оформление вывода модульной информации в основной контентной зоне сайта. Это списки новостей, товаров, файлов, фотографий, а также отдельные страницы статей, карточки товаров, блоки голосований, формы отзывов и т.д.
Обычно состав файлов шаблона модуля следующий:
- модуль.view.first_page.php – главная (первая) страница модуля;
- модуль.view.list.php – список элементов модуля.
- модуль.view.id.php – страница отдельного элемента.
- модуль.view.form.php – форма для заполнения (если модуль интерактивный).
- модуль.view.show_block.php – блок.
Где модуль – это название модуля.
Пример:
Шаблон первой страницы каталога интернет-магазина будет в файле modules/shop/views/shop.view.first_page.php, а список новостей – modules/news/views/news.view.list.php.
Оформление внешнего вида карточки товара в файле modules/shop/views/shop.view.id.php.
А оформление формы обратной связи будет в шаблоне modules/feedback/views/feedback.view.form.php.
В шаблоне модуля могут быть другие файлы, отражающие индивидуальные особенности его внешнего вида.
Пример:
Если необходимо изменить оформление блока опросов на сайте, то нужно вносить изменения в шаблон модуля опросы: modules/votes/views/votes.view.show_block.phpПодключение шаблона происходит следующим образом:
Пример:
echo $this->diafan->_tpl->get('название_шаблона', 'название_модуля', $result);
где $result – передаваемые в шаблон данные в виде массива.
В шаблоне для вызова другого шаблона можно воспользоваться сокращенной формой:
Пример:
echo $this->get('название_шаблона', 'название_модуля', $result);
В шаблоне модуля можно вызвать шаблонный тег. Для этого его нужно обработать функцией htmleditor()
.
Пример:
echo $this->htmleditor('<insert name="show_block" module="site" id="13">');
Также, все данные, вводимые с помощью визуального редактора, нужно обрабатывать с помощью этой функции.
Пример:
// в файле modules/news/news.model.php
$row["text"] = $this->diafan->_tpl->htmleditor($row["text"]);
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.