Блог

Показ отложенных товаров в краткой корзине (для сайтов на HostCMS v6)


После последнего обновления 6.1.4 появилась возможность показать пользователю в краткой корзине отложенные им товары. Удобная функция, особенно для тех интернет-магазинов, в которых пользователи обычно покупают сразу несколько товаров за раз. Например, интернет-магазин заказов еды на дом, или оптовый магазин. В общем, случаев применения может быть множество.

Образец использования

Рассмотрим, как это можно использовать. Все доработки делаются в XSL-шаблоне "МагазинКорзинаКраткая". Пример шаблона взят с конкретного сайта. В комментариях даны пояснения (код выделен "жирным" шрифтом).

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:hostcms="http://www.hostcms.ru/"
exclude-result-prefixes="hostcms">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- МагазинКорзинаКраткая -->
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/shop">
<div id="little_cart">
<xsl:choose>
<!-- В корзине нет ни одного элемента -->
<xsl:when test="count(shop_cart) = 0">
<a href="{/shop/url}cart/"><img src="/images/cart.jpg" alt="корзина магазина" style="float: left; width:50px; height:50px; margin:-15px 10px 5px;"/>Корзина пуста</a>
<p><xsl:choose>
<xsl:when test="siteuser_id = 0"></xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose></p>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/url}cart/">Ваша корзина:</a>
<xsl:variable name="totalQuantity" select="sum(shop_cart[postpone = 0]/quantity)" />
<hr />

<!-- Массив для вывода отложенных товаров с картинками, названием, производителем и ценой --> <xsl:for-each select=".//shop_cart/shop_item[@id]">
<!-- Изображение товара --> <img src="{dir}{image_small}" />
<!-- Название и производитель --> <span><xsl:value-of select="name"/><xsl:text> </xsl:text><xsl:value-of select="shop_producer/name" /><br />
<!-- Стоимость --> <xsl:value-of select="format-number(price, '### ##0', 'my')"/><xsl:value-of disable-output-escaping="yes" select="shop_currency/name"/>
<hr /> </xsl:for-each> <!-- Вывод суммы отложенных товаров --> <span> Сумма<xsl:text>: </xsl:text> <b><xsl:value-of select="format-number(total_amount, '### ##0,00', 'my')"/><xsl:text> </xsl:text><xsl:value-of disable-output-escaping="yes" select="shop_currency/name"/></b></span>
<a href="{/shop/url}cart/" class="button">ОФОРМИТЬ ЗАКАЗ</a>
</xsl:otherwise>
</xsl:choose>
</div>
</xsl:template>
<!-- Склонение после числительных -->
<xsl:template name="declension">
<xsl:param name="number" select="number"/>
<!-- Именительный падеж -->
<xsl:variable name="nominative">
<xsl:text>товар</xsl:text>
</xsl:variable><
<!-- Родительный падеж, единственное число -->
<xsl:variable name="genitive_singular">
<xsl:text>товара</xsl:text>
</xsl:variable>
<xsl:variable name="genitive_plural">
<xsl:text>товаров</xsl:text>
</xsl:variable>
<xsl:variable name="last_digit">
<xsl:value-of select="$number mod 10"/>
</xsl:variable>
<xsl:variable name="last_two_digits">
<xsl:value-of select="$number mod 100"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="$last_digit = 1 and $last_two_digits != 11">
<xsl:value-of select="$nominative"/>
</xsl:when>
<xsl:when test="$last_digit = 2 and $last_two_digits != 12 or $last_digit = 3 and $last_two_digits != 13 or $last_digit = 4 and $last_two_digits != 14">
<xsl:value-of select="$genitive_singular"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$genitive_plural"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Используя Javascript, можно сделать краткую корзину компактной и открывающейся при клике по иконке корзины, к примеру. Это будет удобно в том случае, если ваши покупатели обычно откладывают много товара. В таком случае корзина не будет занимать много места на странице.

Однако, в некоторых магазинах, где покупается сразу много наименований (или в каталоге формируется заказ, к примеру комплекта мебели), будет наоборот удобней эту краткую корзину показывать открытой, выделив под нее отдельную колонку. Таким образом покупатели будут сразу видеть, что они уже отложили.

В общем, как эту возможность использовать вы придумаете сами.

Вас может заинтересовать:

Блог

  • 29 марта 2018 г.
    Боковое выпадающее меню на CSS для каталога товаров. HostCMS v.6
    Создадим раздвижное меню для каталога товаров с несколькими уровнями вложенности разделов. Меню будет открыто в основных разделах, лежащих в корневом каталоге. В принципе, вам нужно просто скопировать шаблон, CSS стили и пользоваться этим меню...
  • 07 марта 2018 г.
    Тенденции веб-дизайна в 2018 году
    В 2018 году, дизайнеры начинают разработку чистых и простых сайтов, способных соответствовать стандартам мобильных достижений. Центр внимания сосредотачивается на проекты с прямолинейным, но эффективным и оптимизированным дизайном.
  • 26 января 2018 г.
    Что такое лендинг пейдж?
    Дословно лендинг пейдж переводится с английского (landing page) как целевая страница. В Рунете можно встретить еще один перевод термина лендинг пейдж – посадочная страница...
  • 28 декабря 2017 г.
    Внедрение в макет кода формы с reCaptcha. HostCMS 6
    Хочу поделиться с вами кодом, который размещается в макете страницы и подгружает в нее форму с reCaptcha...
  • 24 ноября 2017 г.
    Выводим производителей с разбивкой по алфавиту. HostCMS v.6
    Если у вас в интернет-магазине много производителей (брендов), то приведенное нами решение поможет организовать показ всех производителей с разбивкой по алфавиту...
  • 07 сентября 2017 г.
    Четыре причины, почему Facebook необходим для маркетинговых кампаний
    Успех вашего онлайн-бизнеса зависит от того, как вы реализуете свою стратегию цифрового маркетинга во взаимодействии с вашей целевой аудиторией...
  • 17 июня 2017 г.
    Варианты создания логотипа сайта
    Фундаментом фирменного стиля является логотип. Непосредственно на логотип, в первую очередь, обращают внимание клиенты любой компании, к тому же, логотип должен быть обязательно размещён на такой имиджевой продукции, как ручки, чашки фирменные бланки и прочее.

Все статьи

Наши услуги по созданию сайтов

WEB ДИЗАЙН

Разработка дизайна сайта. Использование шаблонов для "быстрых" проектов.

ПОДДЕРЖКА САЙТА

Поддержка работоспособности и безопасности. Написание текстов и статей. Наполнение товаром.

ПРОДАЖА ГОТОВЫХ РЕШЕНИЙ

Готовые интернет-магазины и интеграционные решения для сайтов на HostCMS

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ

Графический дизайн (разработка логотипа). Написание seo-текстов. Редизайн сайта. Замена CMS. Кодинг

Подробный ПРАЙС-ЛИСТ