msMiniCartDynamic

Динамическое обновление мини-корзины miniShop2
Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Автор дополнения
Марат Марабар
Пакетов
4
Закачек
3 720
Автор дополнения
Пакетов
4
Закачек
3 720
Версия 1.0.11-pl
Дата выпуска 24.04.2018
Загрузки 1 765
Просмотры 17 641
Внимание, этот компонент требует версию PHP 5.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !
Внимание! Этот компонент больше не поддерживается, рекомендую использовать msMCD.

Компонент msMiniCartDynamic для магазина miniShop2 даёт возможность изменять количество добавляемых товаров в корзину, как кнопками +-, так и ручным вводом количества в поле input. Также, при необходимости, есть возможность динамического изменения миникорзины.

Добавление +- к товарам каталога

Для добавления к товарам каталога кнопок +-, необходимо отредактировать форму в чанке miniShop2 — tpl.msProducts.row, должно получиться примерно так:

<form method="post" id="dynamic-[[+id]]" class="ms2_form">
	<a href="[[~[[+id]]]]">[[+pagetitle]]</a>
	<span class="flags">[[+new]] [[+popular]] [[+favorite]]</span>
	<span class="price">[[+price]] [[%ms2_frontend_currency]]</span>
	[[+old_price]]

	[[!msDynamicCount?
		&id=`[[+id]]`
	]]

	<input type="hidden" name="id" value="[[+id]]">
	<input type="hidden" name="options" value="[]">
</form>

  1. Удалить button name=«ms2_action»
  2. Удалить input name=«count»
  3. Добавить в форму идентификатор id=«dynamic-[[+id]]»:
    <form method="post" id="dynamic-[[+id]]" class="ms2_form">
    	...
    	...
    	...
    </form>
  4. Разместить не кэшированный вызов сниппета [[!msDynamicCount]], с обязательным параметром &id=[[+id]]

Подключить скрипт msMiniCartDynamic после jQuery. До или после скрипта miniShop2 — разницы нет, работает так и так.

<script src="/assets/components/msminicartdynamic/js/web/msminicartdynamic.js"></script>

Доступны плейсхолдеры:
  • [[+key_d]] — Уникальный ключ товара в корзине
  • [[+count_d]] — Количество этого товара в корзине
  • [[+id_d]] — ID товара (ресурса) в корзине

Динамическое изменение миникорзины

Компонент имеет возможность динамически изменять состав миникорзины, для этого достаточно в чанк tpl.msMiniCart поместить вызов сниппета

<div id="msMiniCart" [[+total_count:isnot=`0`:then=`class="full"`:else=``]]>
	<div class="empty">
		<h5><i class="glyphicon glyphicon-shopping-cart"></i> [[%ms2_minicart]]</h5>
		[[%ms2_minicart_is_empty]]
	</div>

	[[!msMiniCartDynamic?
            &img = `small`
        ]]

	<div class="not_empty">
		<h5><i class="glyphicon glyphicon-shopping-cart"></i> [[%ms2_minicart]]</h5>
		[[%ms2_minicart_goods]]: <strong class="ms2_total_count">[[+total_count]]</strong> [[%ms2_frontend_count_unit]],
		[[%ms2_minicart_cost]]: <strong class="ms2_total_cost">[[+total_cost]]</strong> [[%ms2_frontend_currency]]
	</div>
</div>

Доступны плейсхолдеры:
  • [[+name_d]] — Название товара (pagetitle)
  • [[+key_d]] — Ключ товара
  • [[+count_d]] — Количество данного товара в корзине
  • [[+price_d]] — Цена товара товара за единицу
  • [[+sum_d]] — Сумма товара
  • [[+img_d]] — Картинка товара
  • [[+id_d]] — ID товара (ресурса)

Параметры:
  • &tpl — Чанк для одного товара. По умолчанию: msMinicartDynamic
  • &tplOuter — Чанк обёртка всего блока. По умолчанию: msMinicartDynamicOuter
  • &img — Картинка (миниатюра) товара. По умолчанию: Пусто

Заключение

Сам по себе компонент в корзину ничего не добавляет, этим всем занимается miniShop2. msMiniCartDynamic просто инициализирует и ловит определённые события изменения корзины, подсчитывает кол-во и сумму определённого товара и выводит всё это дело на экран.

С версии 1.0.0-pl мини корзина обновляется динамически без использования ± (Т.е. при добавления товара кнопкой «В корзину».), для этого достаточно пункта «Динамическое изменение мини-корзины» данного руководства.

Документация в /core/components/msminicartdynamic/docs/readme.txt

Обсуждение компонента в сообществе MODX.PRO.

1.0.11-pl

  • [msMiniCartDynamic] - Fix. Получения чанка через pdoTools

1.0.10-pl1

  • Поддержка Fenom в сниппетах

1.0.10-pl

  • Добавлена возможность вставлять сниппеты в tpl
  • Поддержка Fenom

1.0.9-pl

  • [#2] - fix Вывод картинки

1.0.8-pl

  • [msminicartdynamic] - fix session_write_close();

1.0.7-pl

  • [msminicartdynamic] - Ошибка записи в сессию при пустой корзине

1.0.6-pl

  • Проверка наличия указанной картинки

1.0.5-pl

  • [msMiniCartDynamic] - Убран размер картинки, по умолчанию

1.0.4-pl

  • [msminicartdynamic] - Удаление товара из мини-корзины. Переход из корзины на страницу товара.

1.0.3-pl

  • [msminicartdynamic] - Исправлена ошибка "пустой корзины"

1.0.2-pl

  • [msminicartdynamic] - Добавлена картинка в мини-корзину

1.0.1-pl

  • [msminicartdynamic.js] - Обновление мини-корзины после удаления товара из корзины
  • [msDynamicCount] - стилизация кнопок +/- (Bootstrap3)
  • [msDynamicCountChange] - стилизация кнопок +/- (Bootstrap3)

1.0.0-pl

  • [msminicartdynamic.js] - Обновление мини корзины после стандартного добавления товара (без +/-)

1.0.3-beta4

  • [msminicartdynamic.js] - удалён отладочный код
  • [msminicartdynamic.js] - исправлена ошибка(+-)

1.0.3-beta3

  • [msDynamicCount] Убран атрибут disabled
  • [msDynamicCountChange] Убран атрибут disabled
  • [msminicartdynamic.js] - общие улучшения

Последние обсуждения в сообществе MODX.pro