Наверх

Подключение шаблонов

Для работы с шаблонами сайта в файле includes/template.php описан класс Template. В модуле объект этого класса доступен через переменную $this->diafan->_tpl, в шаблоне модуля объект класса доступен через переменную $this.

Методы

string get (string $name, string $module, mixed $result, [string $template = '']) – Подключает шаблон.

  • string $name: имя функции
  • string $module: название модуля
  • mixed $result: передаваемые в шаблон данные
  • string $template: атрибут template в шаблонном теге

Пример:

// подключаем шаблон формы блока объявлений если существует шаблон
// modules/ab/views/ab.view.show_block_$attributes["template"].php
// то подключаем его,
// иначе подключаем шаблон modules/ab/views/ab.view.show_block.php
echo $this->diafan->_tpl->get('show_block', 'ab', $result, $attributes["template"]);

void js ([string $name = ''], [string $module = '']) – Подключает JS-файл.

  • string $name: часть имени файла
  • string $module: название модуля

Пример:

// includes/controller.php
// подключаем JS-файл, общий для всего модуля
$this->diafan->_tpl->js();

void css ([string $name = ''], [string $module = '']) – Подключает CSS-файл.

  • string $name: часть имени файла
  • string $module: название модуля

string htmleditor (string $text) – Заменяет шаблонные теги, ссылки в тексте.

  • string $text: исходный текст

Пример:

// выводим шаблонным тегом динамический блок
// в шаблоне modules/news/views/news.view.id.php
echo $this->htmleditor('<insert name="show_dynamic" module="site" id="1">');

// обрабатываем текст новости, редактируемый через визуальный редактор
// в файле modules/news/news.model.php
$row["text"] = $this->diafan->_tpl->htmleditor($row["text"]);

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

Значения, переданные методу Template::get в аргументах $name, $module, $result и $template, будут доступны в шаблоне соответственно под именами $name, $module, $result и $template.
Добрый день!
А как подключить css к административной части модуля?
Diafan 6.0
При вызове из КласМодуля->show метода $this->diafan->_tpl->css("admin", "ИмяМодуля");
Ссылка на файл добавляется в массив $this->diafan->_site->css_view[];
(файл includes emplate.php, строка 134)
А при выводе темы администрирования, ссылки берутся из другого массива:
$this->diafan->_admin->css_view
(файл admincludes heme.php, строка 703).
-
Как временное решение - вручную устанавливать значение переменной $this->diafan->_admin->css_view
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.