Как добавить поле количества на страницы категорий opencart 2.2

Я работаю над версией 2.2 OpenChart (OC), и я новичок в OC, и я хочу добавить поле количества на страницах категорий и в частях рекомендуемых продуктов.

Итак, я пытался скопировать этот код из theme/default/template/product/product.tpl, потому что мне нужен тот же результат, который OC применил на странице продукта.

<label class="control-label" for="input-quantity"><?php echo $entry_qty; ?></label>
          <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />
          <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />

и пытался вставить его на theme/default/template/product/category.tpl страницу ниже цены, но получил ошибку Undefined variable.

Из R&D я узнал, что мне нужно обновить его и на странице catalog/controller/category.tpl. Я не знаю, что делать.

Помогите пожалуйста мне. Заранее большое спасибо.


person Adi    schedule 27.04.2016    source источник


Ответы (1)


Вы замените следующие изменения в

категория.tpl

Замените код следующим

<div class="image"><a href="<?php echo $product['href']; ?>" id="location-<?php echo $product['product_id']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" class="img-responsive" /></a></div>

добавьте следующий код перед 'div class="button-group">'

<div class="form-group">
    <label class="control-label" for="input-quantity">Qty</label>
    <input type="text" name="quantity" value="<?php echo $product['minimum']; ?>" size="2" id="input-quantity-<?php echo $product['product_id']; ?>" class="form-control" />
    </div>  

изменить следующий код

<button type="button" onclick="cart.add('<?php echo $product['product_id']; ?>', '<?php echo $product['minimum']; ?>');"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button>

следовать

<button type="button" onclick="addTocart('<?php echo $product['product_id']; ?>')"><i class="fa fa-shopping-cart"></i> <span class="hidden-xs hidden-sm hidden-md"><?php echo $button_cart; ?></span></button>

Добавьте Javascript перед

<script type="text/javascript">
function addTocart(product_id){
    var product_id = product_id;
    var qty = $('#input-quantity-'+product_id).val();
    var location = $('#location-'+product_id).attr('href');
    $.ajax({
        url: 'index.php?route=checkout/cart/add',
        type: 'post',
        data: 'product_id='+product_id+'&quantity='+qty,
        dataType: 'json',
        beforeSend: function() {
            $('#button-cart').button('loading');
        },
        complete: function() {
            $('#button-cart').button('reset');
        },
        success: function(json) {
            $('.alert, .text-danger').remove();
            $('.form-group').removeClass('has-error');

            if (json['error']) {
                if (json['error']['option']) {
                    window.location = location;
                }

                if (json['error']['recurring']) {
                    window.location = location;
                }

                // Highlight any found errors
                $('.text-danger').parent().addClass('has-error');
            }

            if (json['success']) {
                $('.breadcrumb').after('<div class="alert alert-success">' + json['success'] + '<button type="button" class="close" data-dismiss="alert">&times;</button></div>');

                $('#cart > button').html('<i class="fa fa-shopping-cart"></i> ' + json['total']);

                $('html, body').animate({ scrollTop: 0 }, 'slow');

                $('#cart > ul').load('index.php?route=common/cart/info ul li');
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });
}
</script>

Ваше здоровье

person Vipul Jethva    schedule 28.04.2016
comment
Vipul, я попробую это позже, я получил ошибку в vqmod, не могли бы вы помочь мне с этим stackoverflow.com/questions/36908035/vqmod-logs-opencart-error - person Adi; 28.04.2016
comment
@Adi Мой код работает, тогда дай мне один раз привет. - person Vipul Jethva; 28.04.2016
comment
Я обязательно дам. Еще одна вещь, которую я должен спросить вас, это то, что я установил расширение, которое выбирает вес только на странице категории, поэтому, если я отредактирую этот код, не повредит ли это функциональности расширения? - person Adi; 28.04.2016
comment
Я не думаю, что это повредит вашей функциональности расширения. Но почему вы устанавливаете все это на странице категории? Вы будете использовать быстрый просмотр на странице категории, чтобы покупатель мог видеть все на странице категории. Нет необходимости изменять основной файл opencart. - person Vipul Jethva; 28.04.2016
comment
Требование клиента, приятель. вы можете посмотреть на сайте shreejifoods.in - person Adi; 29.04.2016
comment
Я попробовал ваш код, и он отлично работает, если я отключу установленное расширение. Надеюсь, вы уже видели расширение, которое уже установлено на веб-сайте shreejifoods.in. проверьте эту ссылку, где применяется ваш код и включено расширение. hananelraz.com/test-op/index.php?route= product/ и это файл расширения для страницы категории. filedropper.com/addoptioncategory - person Adi; 09.05.2016