UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: sam от 02 Октября 2014, 10:05:18

Название: Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: sam от 02 Октября 2014, 10:05:18
Здравствуйте! Просьба подсказать, как сделать так, чтобы в объектах каталога при выводе характеристик отображались только те строки (тег "tr"), где заполнено "value", а там где "value" пусто, строку не отображать? Есть понимание, что это делается примерно так:

<xsl:template match="property" mode="table">
        <xsl:if test="выводить строку, если value true">
        <tr>
        <xsl:apply-templates select="title" mode="table"/>
        <xsl:apply-templates select="value" mode="table"/>
        </tr>
         </xsl:if>
</xsl:template>

Что указать там, где "выводить строку, если value true"
Заранее спасибо!
Название: Re:Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: admin от 02 Октября 2014, 11:19:45
<xsl:template match="property" mode="table">
        <xsl:if test="value and not(value='')">
       <tr>
       <xsl:apply-templates select="title" mode="table"/>
       <xsl:apply-templates select="value" mode="table"/>
       </tr>
         </xsl:if>
</xsl:template>
Название: Re:Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: sam от 02 Октября 2014, 16:37:30
Спасибо! Я так понимаю аналогичный xsl:if можно сделать и для цены, чтобы когда цена "0 руб" или "пусто", чтобы на месте цены было какое-то короткое сообщение.
Название: Re:Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: admin от 02 Октября 2014, 16:48:01
можно, только учтите что зачастую цена выводится через макрос emarket/price и уже выводя результаты этого макроса ставьте проверки
Название: Re:Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: sam от 02 Октября 2014, 17:00:12
Не совсем понял. Буду признателен, если приведёте пример с проверкой блока цены, если есть конечно же.
Название: Re:Характеристики в object-view.xsl - как скрыть параметр?
Отправлено: admin от 02 Октября 2014, 17:07:01
код по тому же принципу, разговор о том, что поле "цена" обычно выводится не как property/value (то есть значение поля), а как результат макроса %emarket price()% (http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/internetmagazin/emarket_price/). То есть, проверку, которую вы уже использовали надо вставлять в шаблон обрабатывающего результаты работы данного макроса.