31
Шаблоны XSLT / Вывод объектов каталога через USEL по элементу в справочнике
« : 20 Июля 2013, 00:30:20 »
И снова здравствуйте! Продолжаю осваивать demodizzy и расширять возможности представления товаров (объектов каталога)
Задачка такова:
Надо вывести отфильтрованный список объектов по значению справочника "Ведомственные гостиницы" в виде отдельного списка на своей отдельной странице. то есть вывести те самые объекты каталога - "Ведомственные гостиницы", в которых установлено данное значение из справочника.
Вот такой файл HotelsStarsDepartmental.xml в папке usels по идее задаёт условия фильтрации:
в котором:
<type id="130"/> - тип объекта каталога, то есть "Гостиница",
<property name="stars"> - наименование поля в объекте каталога (в гостинице) где выпадающий список со справочником,
<object>644</object> - идентификатор свойства справочника "Ведомственные гостиницы".
.
И этот файл вызывается в простой текстовой странице common.xsl в папке modules/content/
и вот на этой самой странице отображаются два специально созданных объекта с указанными в свойствах элементе справочника "Ведомственные гостиницы":
http://temp03.web-image.ru/information_for_tourists/hotels/hotels_stars_departmental/
и вот я в непонятности - почему только наименования этих объектов (гостиниц) выводятся, когда как там у них ещё большая куча всяких свойств?
Очевидно конечно что надо создать шаблон для mode="filter-list-hotels", однако в самом файле
http://temp03.web-image.ru/usel://HotelsStarsDepartmental/ ни чего кроме названия этих двух объектов и нет...
Что надо делать в первую очередь - HotelsStarsDepartmental.xml как-то доделать и/или всё дело в пока не созданном шаблоне mode="filter-list-hotels"
?
В конечном итоге надо отобразить эти два тестовых объекта так же как и они же здесь в числе других отображаются списком в общем разделе "Гостиницы": http://temp03.web-image.ru/information_for_tourists/hotels/
Задачка такова:
Надо вывести отфильтрованный список объектов по значению справочника "Ведомственные гостиницы" в виде отдельного списка на своей отдельной странице. то есть вывести те самые объекты каталога - "Ведомственные гостиницы", в которых установлено данное значение из справочника.
Вот такой файл HotelsStarsDepartmental.xml в папке usels по идее задаёт условия фильтрации:
Код: [Выделить]
<?xml version="1.0" encoding="utf-8"?>
<selection>
<target expected-result="pages">
<type module="catalog" method="object" />
[b] <type id="130"/>[/b]
</target>
[b]<property name="stars">[/b]
[b]<object>644</object>[/b]
</property>
<limit page="0">{limit}</limit>
</selection>
в котором:
<type id="130"/> - тип объекта каталога, то есть "Гостиница",
<property name="stars"> - наименование поля в объекте каталога (в гостинице) где выпадающий список со справочником,
<object>644</object> - идентификатор свойства справочника "Ведомственные гостиницы".
.
И этот файл вызывается в простой текстовой странице common.xsl в папке modules/content/
Код: [Выделить]
<xsl:template match="result[@module = 'content' and page/@type-id=164]">
<p><xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" /></p>
<xsl:apply-templates select="document('usel://HotelsStarsDepartmental/')/udata" mode="filter-list-hotels" />
</xsl:template>
и вот на этой самой странице отображаются два специально созданных объекта с указанными в свойствах элементе справочника "Ведомственные гостиницы":
http://temp03.web-image.ru/information_for_tourists/hotels/hotels_stars_departmental/
и вот я в непонятности - почему только наименования этих объектов (гостиниц) выводятся, когда как там у них ещё большая куча всяких свойств?
Очевидно конечно что надо создать шаблон для mode="filter-list-hotels", однако в самом файле
http://temp03.web-image.ru/usel://HotelsStarsDepartmental/ ни чего кроме названия этих двух объектов и нет...
Что надо делать в первую очередь - HotelsStarsDepartmental.xml как-то доделать и/или всё дело в пока не созданном шаблоне mode="filter-list-hotels"
?
В конечном итоге надо отобразить эти два тестовых объекта так же как и они же здесь в числе других отображаются списком в общем разделе "Гостиницы": http://temp03.web-image.ru/information_for_tourists/hotels/