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

#
Подключение XSL-шаблона
Здравствуйте!
Только начинаю изучать систему.
Создал типовую динамическую страницу, пытаюсь подключить шаблон.
В настройках страницы пусто.
В коде страницы следующий код:

<?php
$Shop_Controller_Show = Core_Page::instance()->object;

$xslName = Core_Array::get(Core_Page::instance()->libParams, 'configuratorXSL');

$Shop_Controller_Show
   ->xsl(Core_Entity::factory('Xsl')->getByName($xslName))
   ->show();

Имя шаблона подтягивается корректно, сам шаблон тоже стандартный:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <xsl:template match="/">
      <xsl:apply-templates select="mynode" />
   </xsl:template>
   
   <xsl:template match="mynode">
      <xsl:text>Шаблон выведен</xsl:text>
   </xsl:template>
</xsl:stylesheet>

Выдает ошибку Exception: Call to a member function xsl() on null
Как правильно подключить XSL-шаблон?
#
Re: Подключение XSL-шаблона
Если в переменной $xslName не пусто то отсутствует xsl шаблон с указанным названием.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Подключение XSL-шаблона
llirik,
В переменной $xslName присутствует имя шаблона.
var_dump($xslName) выдает string(47) "МагазинКонфигураторСайт2".
Как я все это делал:
Я создал типовую динамическую страницу и добавил к ней параметр:
Название параметра: XSL Конфигуратора
Название переменной: configuratorXSL
Тип: XSL-шаблон.
Код ТДС указан в первом сообщении.
Далее создал узел структуры, где отметил созданную ТДС и выбрал для параметра "XSL конфигуратор" ранее созданный XSL шаблон (из выпадающего списка).
Все ли правильно тут сделано?
Как можно выявить ошибку?
#
Re: Подключение XSL-шаблона
DmitryOpalev,
у вас $Shop_Controller_Show null
HostDev.pw - модули для HostCMS, Telegram: @hostdev
#
Re: Подключение XSL-шаблона
HostDEV.pw,
действительно, спасибо!
Добавил две строчки в Настройки ТДС:
$Shop_Controller_Show = new Shop_Controller_Show(
    Core_Entity::factory('Shop', 3)
);

Core_Page::instance()->object = $Shop_Controller_Show;

И все заработало.
#
Re: Подключение XSL-шаблона
Коллеги, прошу еще помощи.
Использовал шаблон, создаваемый автоматически при создании XSL-шаблона:
<xsl:template match="/">
   <xsl:apply-templates select="mynode" />
   <div>Шаблон выведен 2</div>
</xsl:template>

<xsl:template match="mynode">
   <div>Шаблон выведен 1</div>
</xsl:template>

Выводится: Шаблон выведен 2.
Подскажите, почему не подключается шаблон mynode?
Модератор
#
Re: Подключение XSL-шаблона
DmitryOpalev писал(а):
Подскажите, почему не подключается шаблон mynode?

А почему он должен вызываться? Это просто пример. Шаблон вы должны писать свой, в соответствии с XML:

https://www.hostcms.ru/documentation/step-by-step/top-panel/xml/
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация