Как запретить гостям оформлять заказы (XSLT)
Задача: Сделать невозможным оформить заказ незарегистрированным пользователям, но при этом оставить все другие возможности интернет магазина. Гость может смотреть каталог, добавлять товары в корзину, но не может оформить заказ, пока не пройдет авторизацию
Решение: В отличие от 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>
таким образом, пользователь со статусом "гость", вместо кнопки оформить заказ будет видеть сообщение о необходимости регистрации для продолжения оформления заказа.