UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: Axiomateria от 05 Мая 2013, 15:20:36
-
Здравствуйте!
Имеется такая задумка сделать табовый переключатель для описания объекта каталога так что бы два поля, отдельно редактируемые в админке могли отображаться по очерёдному нажатию а контенте описания объе5кта каталога.
И вот я создаю в типе данных "объект каталога" две группы полей "Особенности конструкции" и " Описание" в которых создаю по одному полю с типом "HTML-текст".
Затем редактирую файл из набора "demodizzy" object-view.xsl в котором добавляю такой вот шаблон:
Вызов: <xsl:apply-templates select=".//group[@name = 'tabs_slider_descr_item']" mode="table-infoslider" />
Шаблоны:
<xsl:template match="group" mode="table-infoslider">
<div id="tabs">
<ul>
<xsl:apply-templates select="property" disable-output-escaping="yes" mode="table-infoslider" />
</ul>
</div>
</xsl:template>
<xsl:template match="property" mode="table-infoslider">
<xsl:apply-templates select="document(concat('utype://', ../../../@type-id, '.', ../@name))/udata/group/field[@name = ./@name]/tip" mode="tip" />
<li><a href="#tabs-1"><xsl:value-of select="title" /></a></li>
<li><a href="#tabs-2"><xsl:value-of select="title" /></a></li>
<div id="tabs-1"><div class="pad-tabs"><xsl:value-of select="." /></div></div>
</xsl:template>
<xsl:template match="property[last()]" mode="table-infoslider">
<xsl:apply-templates select="document(concat('utype://', ../../../@type-id, '.', ../@name))/udata/group/field[@name = ./@name]/tip" mode="tip" />
<div id="tabs-2"><div class="pad-tabs"><xsl:value-of select="." /></div></div>
</xsl:template>
И вот сам вопрос: всё работает, но символы экранируются, куда не пробовал вставить disable-output-escaping="yes" ничего не выходит...
Подскажите пожалуйста, что я упустил ?
-
Нашёл!
в этой строке вставил и стало красиво:<div id="tabs-1"><div class="pad-tabs"><xsl:value-of select="." disable-output-escaping="yes"/></div></div>
:)
-
Вопрос теперь в другом: как возможно сделать уникальными заголовки табов?
Пока у них одинаковый вызов (выделено жирным)., можно ли как-то по ID поля их зауникалить?
<xsl:template match="group" mode="table-infoslider">
<div id="tabs">
<ul>
<xsl:apply-templates select="property" disable-output-escaping="yes" mode="table-infoslider" />
</ul>
</div>
</xsl:template>
<xsl:template match="property" mode="table-infoslider">
<li><a href="#tabs-1"><xsl:value-of select="title" /></a></li>
<li><a href="#tabs-2"><xsl:value-of select="title" /></a></li>
<div id="tabs-1"><div class="pad-tabs"><xsl:value-of select="." disable-output-escaping="yes"/></div></div>
</xsl:template>
<xsl:template match="property[last()]" mode="table-infoslider">
<div id="tabs-2"><div class="pad-tabs"><xsl:value-of select="." disable-output-escaping="yes" /></div></div>
</xsl:template>