Не выводить ссылку для добавления товара в корзину если его нет на складе

Материал из Umicms
Версия от 14:44, 30 мая 2011; Alexh (обсуждение | вклад) (Новая страница: «Часто бывает необходимость отключить возможность добавления товара в корзину (либо отклю…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Часто бывает необходимость отключить возможность добавления товара в корзину (либо отключить вывод данного товара) если его нет на складе.

Ниже представлен пример XSLT шаблона который реализует данную задачу:

Записываем в переменную $sklad количество товара на складе:

<xsl:variable name="sklad" select="document(concat('upage://', @id))//property[@name = 'stores_state']/value/option/@int"/>


Проверяем, если товар отсутствует на складе, то выводим сообщение о том, что товара нет в наличии. Если товар имеется на складе то выводим ссылку на добавление товара в корзину.

<xsl:choose>
<xsl:when test="not($sklad)">
<xsl:text>НЕТ В НАЛИЧИИ </xsl:text>	
</xsl:when>
<xsl:when test="$sklad">
<a	id="add_basket_{@id}"
class="button basket_list options_{$is_options}" href="{$lang-prefix}/emarket/basket/put/element/{@id}/">
<xsl:text>&basket-add; </xsl:text>	
<xsl:variable name="element_id" select="@id" />
<xsl:if test="$cart_items and $cart_items/item[page/@id = $element_id]">
<xsl:text> (</xsl:text>
<xsl:value-of select="sum($cart_items/item[page/@id = $element_id]/amount)" />
<xsl:text>)</xsl:text>
</xsl:if>
</a>
</xsl:when>
</xsl:choose>

Вместо надписи НЕТ В НАЛИЧИИ можно указать ссылку на форму обратной связи, через которую покупатель сможет отправить заявку на нужный товар.