Станислав

Станислав

Был в сети 10 июля 2026, 16:24
Заказы принимаю
включите стандартный слайдер, самый простой и механизм подключения своего, swiper слишком сложен и гибкий конечно, но вызовет много вопросов, отправлять всех в документацию и платным дополнениям по нему не самая хорошая перспектива
По моему сугубому мнению, лучше оставить стандартную библиотеку фоторамы с исправлениями, а во вкладку настройки минишопа добавить подключаемые библиотеки любого слайдера и все будут счастливы
Вот пример рабочего кода, меняется классы и все будет работать!
<form method="post" class="ms2_form form-inline" role="form">
                                    <input type="hidden" name="key" value="{$product.key}"/>
                                    <div class="cart-product-quantity">
                                        <div class="quantity">
                                            <span class="minus countButton" data-ms2-count="minus"></span>
                                            <input type="text" class="qty count" value="{$product.count}" name="count" max="100">
                                            <span class="plus countButton" data-ms2-count="plus"></span>
                                        </div>
                                    </div>
                                    <button style="display:none;" type="submit" name="ms2_action" value="cart/change"></button>
                                </form>
<th class="total_cost">
                        <span class="ms2_total_cost">{$total.cost}</span>
                        {'ms2_frontend_currency' | lexicon}
                    </th>
<script>
    $('body').on('click', '.quantity .control', function (e) {
        var type = $(this).parent(),
            input = $(this).siblings('input.count'),
            count = input.val();
    
        if ($(this).hasClass('plus')) {
            count++;
        } else if ($(this).hasClass('minus') && count > 1) {
            count--;
        }
        input.val(count);
        input.change();
    });
    $(document)
    .on('click touchend', ".countButton", function (e) {
        e.preventDefault();
        var $container = $(this).closest('.ms2_form'),
        $count = $container.find('[name="count"]'),
        num = $count.val();
        if (isNaN(num) === false) {
            num = parseInt(num, 10);
            switch ($(this).data('ms2-count')) {
                case 'plus':
                    num = num + 1;
                    $count.val(num);
                    break;
                case 'minus':
                    if (num <= 1) return;
                    num = num - 1;
                    $count.val(num);
                    break;
            }
        } else {
            return false;
        }
        $count.trigger('change');
    })
    .on('change keypress keyup', '.ms2_form [name="count"]', function() {
        if ($(this).val().match(/\D/)) {
            this.value = $(this).val().replace(/\D/g,'');
        }
        if (parseInt($(this).val(), 10) < 1) {
            this.value = 1;
        }
    });
</script>
Вот еще один способ, только через коллбэки
<script>
        $(document).ready(function() {
            miniShop2.Callbacks.add('Order.getcost.response.success', 'Order_submit_response_success', function(responce) {
                var cost = responce.data['cost'],
                    min_price = {'ms2_order_min_price' | config};
                if (cost < min_price) {
                    miniShop2.Callbacks.add('Order.submit.before', 'Order_submit_before', function() {
                        miniShop2.Message.error('Недостаточная сумма заказа, заказ отправляется от ' + min_price + ' руб.!');
                        $('#error_message').text('Недостаточная сумма заказа, заказ отправляется от ' + min_price + ' руб.!');
                        return false;
                    });
                }
            });
        });
    </script>