Наброски по UMI CMS (20.11.2014)
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-макросам
PHP, CMS
comments powered by Disqus
JavaScript (13)
PHP (11)
Brainfuck (8)
adm (8)
Joomla (4)
Canvas (3)
answers (2)
API (2)
CMS (2)
Modx (2)
jQuery (1)
Ajax (1)
SQL (1)
Shell (1)
batch (1)
10-6