Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Вывод в превью товара только фильтруемые характеристики

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 24
Просмотров: 2915
Последний ответ 08 Июля 2015, 15:20:47
от admin
Fatal Error: Call to a member function getId() on a non-object in

Автор adminmosfaРаздел Настройка системы и модулей

Ответов: 9
Просмотров: 3236
Последний ответ 24 Июля 2013, 14:38:55
от adminmosfa
Вывод характеристики товара в админске

Автор kroxaРаздел Шаблоны XSLT

Ответов: 3
Просмотров: 1681
Последний ответ 10 Ноября 2011, 01:47:08
от kroxa
Объекты каталога - характеристики коротко

Автор samРаздел Шаблоны XSLT

Ответов: 9
Просмотров: 1577
Последний ответ 11 Ноября 2014, 23:25:26
от sam
Проблемы с доступом к module catalog method object

Автор sanya@lum.ruРаздел Макросы UMI.CMS

Ответов: 2
Просмотров: 1698
Последний ответ 20 Сентября 2013, 15:57:01
от sanya@lum.ru

0 Пользователей и 1 Гость просматривают эту тему.

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Здравствуйте! Просьба подсказать, как сделать так, чтобы в объектах каталога при выводе характеристик отображались только те строки (тег "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"
Заранее спасибо!
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
<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>

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Спасибо! Я так понимаю аналогичный xsl:if можно сделать и для цены, чтобы когда цена "0 руб" или "пусто", чтобы на месте цены было какое-то короткое сообщение.
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
можно, только учтите что зачастую цена выводится через макрос emarket/price и уже выводя результаты этого макроса ставьте проверки

*

sam

  • ***
  • 215
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Не совсем понял. Буду признателен, если приведёте пример с проверкой блока цены, если есть конечно же.
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

admin

  • *****
  • 2419
  • +172/-1
    • Просмотр профиля
код по тому же принципу, разговор о том, что поле "цена" обычно выводится не как property/value (то есть значение поля), а как результат макроса %emarket price()%. То есть, проверку, которую вы уже использовали надо вставлять в шаблон обрабатывающего результаты работы данного макроса.