Помощь Как выделить выбраный товар opencart

ihos

Участник
Регистрация
13 Май 2012
Сообщения
214
Реакции
3
Как сделать выделение категории как на сайте Для просмотра ссылки Войди или Зарегистрируйся. Например количество товара по умолчанию стоит 0, когда ставишь количество 1, 2, 3 и так далее то товар выделяеться красной рамкой. Очень буду благодарен за ответ. Может какой-то модуль знает кто?
 
Как сделать выделение категории как на сайте Для просмотра ссылки Войди или Зарегистрируйся. Например количество товара по умолчанию стоит 0, когда ставишь количество 1, 2, 3 и так далее то товар выделяеться красной рамкой. Очень буду благодарен за ответ. Может какой-то модуль знает кто?
Вам нужно сделать видимым количество товара? И что б это самое "количество" - не обрамлялось рамкой? Сделайте пожалуйста скрин, и выделите то что хотите сделать. Задавая вопрос - вы хотите получить ответ? Тогда максимально правильно и обширно объясните что нужно сделать.
 
Нет. Смотрите на скрин. Видите там в поле количество где введено любое число кроме 0 меняеться стиль, стает красная рамка ну и низ красный, мне хотябы рамку сделать! Не подскажите как это сделать
Может это как то скриптом нужно задать, тоесть если например text>0 то включается класс другой.
 

Вложения

  • Без имени-1.jpg
    Без имени-1.jpg
    350,7 KB · Просмотры: 31
Попробуйте такой скрипт:
<script>
$(function () {
$('.to_basket').blur(function () {
if ($(this).val()>0) {$(this).parents('.catGoodItemInn').addClass('redLine');}
else {$(this).parents('.catGoodItemInn').removeClass('redLine');}
});
})
</script>

Где
.to_basket - класс input в который вводятся значения
.catGoodItemInn - класс div'а, которому надо сделать рамку

Стиль
.redLine {border:1px #F00 solid}

Пример:
<div class="catGoodItemInn">
<div id="count">
<input type="text" size="2" maxlength="5" value="0" class="to_basket">&nbsp;шт.
</div>
</div>

Возможно не самый оптимальный, но должен работать
 
А может модуль есть? Заодно чтобы с выделением цветом была возможность плюсом и минусом регулировать количество товара, которое следует добавить в корзину. (для ocstore 1.5.5.1)
 
Может и есть - я не встречал. При желании можно и скрипт написать =) Если прикручивать [+][-] то мой скрипт надо немного изменить т.к. он срабатывает на blur, а надо будет изменить на change
 
Могу сделать пример, где будет выделение цветом и кнопочки, если этого будет достаточно. Т.к. в приведенном примере все инпуты подвязаны к корзине - реализовать немного сложнее =) Ссылка на сайт есть - чтобы разметку глянуть?
 
Примеры есть во многих платных темах от themeforest.
Однако, мне нужно что бы можно было изменять количество кнопками плюс минус не только в корзине, но и при просмотре категории.

Например, пользователь заходит в категорию "носки", и накидывает. 2 раза на плюсик "Носки 1", в поле количество становится 2 и именно эти носки выделяются рамкой другого цвета. Далее, 3 раза на плюсик "Носки2", количество 3 и "Носки2" выделены цветом. Нажали купить, получили в корзине 2 позиции. Вот как-то так. Ссылки на пример поищу, где-то в записывал.

Вот, похожее, но это для макси сборки. А хотелось бы для ocstore 1.5.5.1
 
Последнее редактирование:
Т.е. Вы хотите, чтобы в категории можно было на нескольких товарах указать количество, а потом по нажатию одной кнопки "купить" на одном из товаров с выставленным кол-вом - все товары с кол-вом больше 0 падали в корзину? Попробую реализовать.
 
Добавляем количество со стрелками в категорию:
В файле catalog\view\theme\default\template\product\category.tpl
после строчки
Код:
<div class="cart">


находим строчку
Код:
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />

и меняем ее на
Код:
<div class="category_quantity">
<input type="button" onclick="subtractQty(this)" value="-" class="qty-minus" />
<input type="text" value="0" size="2" class="quantity" name="quantity_<?php echo $product['product_id']; ?>">
<input type="button" onclick="addQty(this)" value="+" class="qty-plus" />
<input type="button" value="Купить" onclick="addToCartQty('<?php echo $product['product_id']; ?>', this);" class="button" />
</div>

Далее если планируется использовать эти кнопки только в категориях, то в самый верх (после строки <?php echo $header; ?>) вставляем:
Код:
<script type="text/javascript">
function addToCartQty(product_id, e) {
    var input=$(e).parent().find('input[type=text]');
    var qty = input.val();

    if (!isNaN(qty)) {
       if(!qty || qty==0){qty=1;}
        input.val(0);
  
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: 'product_id=' + product_id + '&quantity=' + qty,
            dataType: 'json',
            success: function(json) {
                $('.success, .warning, .attention, .information, .error').remove();
          
                if (json['redirect']) {
                    location = json['redirect'];
                }
          
                if (json['success']) {
                    $('#notification').html('<div class="success" style="display: none;">' + json['success'] + '<img src="catalog/view/theme/default/image/close.png" alt="" class="close" /></div>');
              
                    $('.success').fadeIn('slow');
              
                    $('#cart-total').html(json['total']);
              
                }
            }
        });
    }
}


function addQty(e) {
    var input=$(e).parent().find('input[type=text]');
    if (isNaN(input.val())) {
        input.val(0);
    }
    input.val(parseInt(input.val())+1);
    input.change();
}

function subtractQty(e) {
    var input=$(e).parent().find('input[type=text]');
    if (isNaN(input.val())) {
        input.val(0);
    }
    if ($(input).val()>0) {
        $(input).val(parseInt($(input).val())-1);   
    }
    input.change();
}

</script>
На этом все. Если планируется прикрутить ко всему сайту, то скрипт прописываем в Header.tpl, и во всех модулях где надо меняем <input type="button" на код описанный выше
 
Последнее редактирование:
Назад
Сверху