Serg
С нами с 17 апреля 2019; Место в рейтинге пользователей: #2617Как запретить повторное добавление товара в корзину?
            Доброго времени суток!
На сайте отключен выбор количества товара и в корзину всегда добавляется один (так нужно заказчику).
Но если посетитель кликнет по кнопке дважды — справа от корзины появится цифра два, а перейдя в корзину посетитель увидит там один товар.
Получается путаница.
В идеале конечно после добавления в корзину менять кнопку «в корзину» на ссылку «перейти в корзину», но я не нашел решение, которое будет работать даже после перезагрузки страницы.
Возможно ли как-то игнорировать повторное нажатие кнопки? Или может все уже придумано до меня?
Либо как вариант справа от корзины показывать количество наименований товаров (если такое возможно)
        
        
        
    На сайте отключен выбор количества товара и в корзину всегда добавляется один (так нужно заказчику).
Но если посетитель кликнет по кнопке дважды — справа от корзины появится цифра два, а перейдя в корзину посетитель увидит там один товар.
Получается путаница.
В идеале конечно после добавления в корзину менять кнопку «в корзину» на ссылку «перейти в корзину», но я не нашел решение, которое будет работать даже после перезагрузки страницы.
Возможно ли как-то игнорировать повторное нажатие кнопки? Или может все уже придумано до меня?
Либо как вариант справа от корзины показывать количество наименований товаров (если такое возможно)
Как сделать сортировку товаров по цене, названию?
            Здравствуйте!
Использую minishop2 и столкнулся с тем, что не знаю, как вывести на странице категории товаров сортировку по цене, названию, количеству выводимых товаров? Подскажите, пожалуйста, кто знает.
Заранее спасибо!
        
        
        
    Использую minishop2 и столкнулся с тем, что не знаю, как вывести на странице категории товаров сортировку по цене, названию, количеству выводимых товаров? Подскажите, пожалуйста, кто знает.
Заранее спасибо!
Различная цена для групп покупателей в minishop2
            Реализовал вывод разной цены для различных групп покупателей. Дополнительные цены выводятся как свойства товара, то есть если пользователь относится к «Группа 1», то выводим «Цена 1» вместо основной цены. Но проблема в том, что если добавить товар в корзину, то он добавляется со стандартной ценой и в miniCart так же отображается стандартная цена. Подскажите пожалуйста, где находится скрипт, который выбирает цену товара по клику Купить. Или как через обработчик можно реализовать?        
        
        
        
    Динамическая кнопка Купить / В корзине
            Появилась необходимость реализовать динамическую кнопку Купить / В корзине. 
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
Чанк В корзине tplIn:
Скрипт (требуется подключенный jQuery)
Сниппет myButton:
Кнопка вызывается таким образом:
        
        
        
    Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
<button type="submit" class="btn btn-cart btn-primary" name="ms2_action" value="cart/add">
	Купить
</button>
<button type="submit" class="btn btn-checkout btn-success hidden" name="ms2_action" value="cart/add">
	В корзине
</button>Чанк В корзине tplIn:
<button type="submit" class="btn btn-checkout btn-success" name="ms2_action" value="cart/add">
    В корзине
</button>Скрипт (требуется подключенный jQuery)
if (typeof(miniShop2) != 'undefined') {
    // кнопки В корзину/Оформить
    miniShop2.Callbacks.Cart.add.response.success = function(response) {
        miniShop2.Order.getcost();
        miniShop2.sendData.$form.find('.btn-cart').addClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').removeClass('hidden');
    };
    miniShop2.Callbacks.Cart.remove.response.success = function() {
        miniShop2.sendData.$form.find('.btn-cart').removeClass('hidden');
        miniShop2.sendData.$form.find('.btn-checkout').addClass('hidden');
    };
}Сниппет myButton:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, 'tplIn'); //Можно писать так: ('tplIn', $scriptProperties,  '@INLINE Товар в корзине, кол-во – [[+count]], цена = [[+price]].');
$tplOut = $modx->getOption('tplOut', $scriptProperties, 'tplOut'); // '@INLINE Товара нет в корзине.'
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $product) {
	if ($product['id'] == $idd) {
		$found = $product;
		break;
	}
}
return $found
	? $pdo->getChunk($tplIn, $found)
	: $pdo->getChunk($tplOut); Кнопка вызывается таким образом:
[[!myButton? &idd=`[[+id]]`]]