Наверх

Шаблоны модулей

Шаблон модуля – это совокупность файлов в папке 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"]);

Ваши комментарии и дополнения

Можно с картинками показать, что такое главная (первая) страница , список элементов модуля и т.д. Сложно воспринимаемая документация, сплошной текст.
Хотелось бы увидеть, как код смотрится в визуальном представлении.
Цитата
В шаблоне для вызова другого шаблона можно воспользоваться сокращенной формой:
Код
echo $this->get('название_шаблона', 'название_модуля', $result);



Тут, на мой взгляд, не помешал бы в качестве примера код из shop.view.list.php:
Код
//вывод списка товаров
if (!empty($result["rows"]))
{
echo $this->get('rows', 'shop', $result);
}


А то в документации говорится про визуальные шаблоны, и упоминается, что модуль.view.list.php – список элементов модуля. По факту оно так, но с визуальной точки зрения внешний вид списка того же магазина (который наиболее интересен и востребован) формируется в файле shop.view.rows.php, который в документации тут не упоминается, а в списке файлов модуля стоит на 76-ом месте. И в файле shop.view.list.php его подключение находится ближе к концу файла и как-то теряется.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.