Вывод результата работы кастомного макроса для TPL — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
(Новая страница: «'''Актуально для 2.9''' ---- '''Задача:''' Вывести результат работы кастомного макроса в TPL-шаблон…»)
 
Строка 9: Строка 9:
  
 
Чтобы вывести результат работы макроса в TPL шаблоне, необходимо выполнить ряд условий:
 
Чтобы вывести результат работы макроса в TPL шаблоне, необходимо выполнить ряд условий:
#1 В объявлении кастомного метода необходимо указать параметр с шаблоном по умолчанию:
+
# В объявлении кастомного метода необходимо указать параметр с шаблоном по умолчанию:
 
<source lang="php">
 
<source lang="php">
 
public function test($template = 'default') {
 
public function test($template = 'default') {
 
</source>
 
</source>
  
#2 Необходимо запустить парсер шаблона, передав ему в параметрах путь до шаблона и названия блоков, которые необходимо парсить:
+
# Необходимо запустить парсер шаблона, передав ему в параметрах путь до шаблона и названия блоков, которые необходимо парсить:
 
<source lang="php">
 
<source lang="php">
 
list($itemsTemplate, $itemTemplate) = def_module::loadTemplates("content/" . $template, "items", "item");
 
list($itemsTemplate, $itemTemplate) = def_module::loadTemplates("content/" . $template, "items", "item");
 
</source>
 
</source>
 
[[Файл:Macros.png]]<br/>
 
[[Файл:Macros.png]]<br/>
 +
 +
# Создаем шаблон в директории /templates/{название_папки}/tpls/content/default.tpl:
 +
<source lang="php">
 +
<?php
 +
$FORMS = Array();
 +
 +
$FORMS['items'] = <<<END
 +
%items%
 +
END;
 +
 +
$FORMS['item'] = <<<END
 +
 +
END;
 +
?>
 +
</source>
 +
Если шаблон уже сущестует, то просто добавляем в него наши блоки.

Версия 17:28, 29 июня 2013

Актуально для 2.9


Задача: Вывести результат работы кастомного макроса в TPL-шаблоне.
Решение:

Для начала, стоит заметить, что делая вывод результатов для TPL шаблона, мы автоматически сделаем вывод и для XSLT шаблонов.

Чтобы вывести результат работы макроса в TPL шаблоне, необходимо выполнить ряд условий:

  1. В объявлении кастомного метода необходимо указать параметр с шаблоном по умолчанию:
public function test($template = 'default') {
  1. Необходимо запустить парсер шаблона, передав ему в параметрах путь до шаблона и названия блоков, которые необходимо парсить:
list($itemsTemplate, $itemTemplate) = def_module::loadTemplates("content/" . $template, "items", "item");

Macros.png

  1. Создаем шаблон в директории /templates/{название_папки}/tpls/content/default.tpl:
<?php
$FORMS = Array();

$FORMS['items'] = <<<END
%items%
END;

$FORMS['item'] = <<<END

END;
?>

Если шаблон уже сущестует, то просто добавляем в него наши блоки.