XSLT-шаблоны:
Верстка должна быть XML-валидной!
Дебаг включается в config.ini:
[debug]
enabled = "1"
show-backtrace = "1"
Вывести контент в базовом шаблоне (<xsl:template match="/">):
<xsl:apply-templates select="result" />
Шаблон вывода этого контента, записывается или подключается после закрытия базового шаблона:
<xsl:template match="result[@module = 'content'][@method = 'content']">
<h1>
<xsl:value-of select=".//property[@name = 'h1']/value" />
</h1>
<div id="text">
<xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>
</xsl:template>
Вызов макроса:
<xsl:value-of select="document('udata://custom/getChildren/')" disable-output-escaping="yes" />
макросы предлагается записывать в /classes/modules/custom.php
Список ссылок на дочерние страницы:
public function getChildren(){
$current_page_id = cmsController::getInstance()->getCurrentElementId();
$hierarchy = umiHierarchy::getInstance();
$childs = $hierarchy->getChilds($current_page_id);
$res = "";
foreach ($childs as $child_id=>$value) {
$page = $hierarchy->getElement($child_id);
$title = $page->name;
$path = $hierarchy->getPathById($child_id);
$res.= "<li class='child'><a href='".$path."'>".$title."</a></li>";
}
if($res!="") $res = "<ul class='child_list'>".$res."</ul>";
return $res;
}
Пример по XSLT-макросам