AssetManager Class

Для работы с шаблонами в модулях ImageCMS используется assetManager класс с пространства имен CMSFactory.

Описание

При работе с шаблоном допускается метод липкой связки. Для оглашения:

  • пишем класс;
  • статический метод create();
  • дальше следуют нужные указания;
  • обязательно закрепить всё одним из методов отображения шаблонов. Например:

\CMSFactory\assetManager::create()->setData('comment', $comment)->render('successful'); В этом случае будет отображен шаблон “successful.tpl”, и передана переменная comment, которая будет доступна непосредственно в шаблоне как $comment. Так же возможны другие варианты использования. Например если хотите добавить JavaScript файл или файл стилей добавьте в связку registerScript или registerStyle :

\CMSFactory\assetManager::create()
              ->setData($data)
              ->registerScript('scriptfile')
              ->registerStyle('mycss')
              ->renderAdmin('settings')

Файлы скриптов будут размещены в низу файла, перед закрывающим тегом а файлы стилей будут помещены в конструкцию

Методы

Вот список методов, представленных в классе:

setData()

(mixed $arg1 [, mixed $arg2 = null]) передает данные в шаблон; ранее реализовывалось через:

$this->template->assign(...)

registerScript()

(mixed $name) подключает JS файл(ы) в конец документа; Если указать в качестве $name массив, то все указанные файлы в массиве будут подключены

registerStyle()

(mixed $name) подключает CSS файл(ы) в начало документа; Если указать в качестве $name массив, то все указанные файлы в массиве будут подключены

renderAdmin()

(mixed $tpl_name) отображает указаный шаблон. Используется для отображения шаблонов в административной части;

render()

(mixed $tpl_name [, bool $ignoreWrap = FALSE]) отображает указанный шаблон. Второй параметр является булевым, и указывает отображать шаблон в контексте основного, либо игнорировать его; ранее реализовывалось через:

$this->template->display($file)

fetchTemplate()

(mixed $tpl_name) в отличии от render, возвращает результат шаблонизирования. ранее реализовывалось через:

$this->template->fetch($file)