Как запретить гостям оформлять заказы (XSLT)

Материал из Umicms
Перейти к:навигация, поиск

Задача: Сделать невозможным оформить заказ незарегистрированным пользователям, но при этом оставить все другие возможности интернет магазина. Гость может смотреть каталог, добавлять товары в корзину, но не может оформить заказ, пока не пройдет авторизацию

Решение: В отличие от TPL шаблонизатора в XSLT подобную задачу можно решать на уровне формирования шаблона, исключительно средствами XSLT.

Для решения задачи нужно следующим образом модифицировать шаблон отвечающий за корзину товаров:

По возвращаемому xml коду (тег <user id="298" type="guest"/>) можно построить следующую логическую конструкцию.

 
 <xsl:if test="$user-type != 'guest'">
       вывести кнопку оформить заказ.
 </xsl:if>
 <xsl:if test="$user-type = 'guest'">
       Написать, что требуется регистрация.
 </xsl:if>

таким образом, пользователь со статусом "гость", вместо кнопки оформить заказ будет видеть сообщение о необходимости регистрации для продолжения оформления заказа.