UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Byte от 11 Марта 2013, 18:23:06

Название: Вывод характеристик товара
Отправлено: Byte от 11 Марта 2013, 18:23:06
Подскажите пожалуйста товарищи форумчане как можно решить такую задачу:
имеется каталог товаров, у каждого вида товара свой набор характеристик, соответственно имена полей и их количество разные, хотелось бы набросать универсальный шаблон для вывода всех характеристик товара, догадываюсь что это можно сделать при помощи конструкции for-each, но вот в таком виде
	
<xsl:for-each select="document(concat('upage://', @id, '.characteristics'))">
<xsl:value-of select="."/>
</xsl:for-each>

результат получается "не найдено", хотя по сути все характеристики там есть. Заранее спасибо!
Название: Re:Вывод характеристик товара
Отправлено: Rodogor от 11 Марта 2013, 20:32:10
Если произвольные характеристики (поля) хранятся внутри определённых групп, то надо сделать шаблон для вывода property внутри group.
К примеру, у каждого товара есть группа properties.
<xsl:apply-templates select=".//group[name='properties']/property" mode="all_prop"/>

Далее уже нужно оформить вывод различных типо данных полей - выпадающий список, изображение, множественный выбор и т.п...
Можно посмотреть в сторону data::getEditForm и найти как реализован вывод всех property любого типа данных
Название: Re:Вывод характеристик товара
Отправлено: Byte от 11 Марта 2013, 23:26:46
Большое спасибо за помощь) совет помог, только я еще раз убеждаюсь, что копипастом злоупотреблять не хорошо)) я это к тому, что у тебя опечатка name='properties' а не @name='properties') со всеми бывает, еще  раз огромное спасибо за совет)
Название: Re:Вывод характеристик товара
Отправлено: Rodogor от 11 Марта 2013, 23:47:48
Я обычно приписываю, что код не проверял, пишу прям так, такое действительно может быть..
Просто специфика языка и задач не позволяет быстро разом отладить - да и не всегда есть на это время...
Я форумом разгружаю мозги от повседневных задач, переключаюсь, поэтому в запарках могу напороть косяков