[Помогите] купить для опции

Тема в разделе "OpenCart", создана пользователем kolich85, 21 янв 2014.

  1. kolich85

    kolich85

    Регистрация:
    19 сен 2013
    Сообщения:
    164
    Симпатии:
    93
    Нужно добавить кнопку купить к каждой опции.
    Опции с кнопкой "Купить" для каждой опции и артикулом 0.1 - етот пробовал он не работает. Подержка в нем тоже не работает. МОжет есть какая то альтернатива?
     
  2. Krasovskiy

    Krasovskiy

    Регистрация:
    22 фев 2013
    Сообщения:
    81
    Симпатии:
    79
    попытался вставить руками напротив каждой опции плюс/минус кол-во и Купить
    В карточке товара (для checkbox)
    Код:
    <?php if ($option['type'] == 'checkbox') { ?>
            <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
              <?php if ($option['required']) { ?>
              <span class="required">*</span>
              <?php } ?>
              <b><?php echo $option['name']; ?>:</b><br />
              <?php foreach ($option['option_value'] as $option_value) { ?>
              <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" />
             <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?>
    <?php if ($option_value['price']) { ?>
                (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>)
                <?php } ?>
              </label>
              <br />
              <?php } ?>
            </div>
            <br />
            <?php } ?>
    Вставил
    Код:
    <img border="0" onclick="jQuery(this).next().val(~~jQuery(this).next().val()-1);simplecheckout_reload('cart_value_decreased');" src="catalog/view/image/minus.png">
    <input type="text" onchange="simplecheckout_reload('cart_value_changed')" size="2" value="<?php echo $product['minimum']; ?>" id="quantity_<?php echo $product['product_id']; ?>">
    <img border="0" onclick="jQuery(this).prev().val(~~jQuery(this).prev().val()+1);simplecheckout_reload('cart_value_increased');" src="catalog/view/image/plus.png">
    <input type="hidden" name="product_id" size="2" value="<?php echo $product['product_id']; ?>" />
    <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>',document.getElementById('quantity_<?php echo $product['product_id']; ?>').value);" class="button" />
    
    Ничего не работает
    Вот живой пример
    Подскажите подробно, что и как надо править, для начинающего. Спасибо
     
  3. Baco

    Baco Антихронофаг Команда форума

    Регистрация:
    9 окт 2012
    Сообщения:
    803
    Симпатии:
    399
    Короче говоря, нашел я этот модуль, и там код вообще не тот, который вы тут показываете, если новичек, зачем ковырять и добавлять не зная что...
    Вот код для опций:
    Код:
    <div class="options">
            <?php foreach ($options as $option) { ?>
            <?php if ($option['type'] == 'select') { ?>
            <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
                <?php foreach ($option['option_value'] as $option_value) { ?>
                <div class="box_item_option">
                <span class="name_option"><?php echo $option_value['name']; ?></span><span class="space">-</span>
                <span class="price_option"><?php if ($option_value['price']) { ?>
                <?php echo $option_value['price']; ?>
                <?php } ?></span>
                <span class="quantity">
                <span class="quantity_<?php echo $option_value['product_option_value_id']; ?>">
                <input type="text" name="quantity" size="2" value="1" />
                </span>
                <?php if ($option_value['quantity'] > 0) { ?>
                <a onclick="buy_in_product(<?php echo $option['product_option_id']; ?>, <?php echo $option_value['product_option_value_id']; ?>); return false;" class="button" title="Добавить в корзину"><span><?php echo $button_cart; ?></span></a>
                <?php } else { ?>
                <a class="outstock_option" title="Нет в наличии"><span>Нет в наличии</span></a>
                <?php } ?>          
                </div>
                <?php } ?>
                <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" />
              <input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" />        
            </div>
            <?php } ?>
            <?php } ?>
          </div>
    и вот скрипт для добавления:
    Код:
    function buy_in_product (opt_id, option) {
    $('input[name=\'option['+opt_id+']\']').val(option);
        $.ajax({
            url: 'index.php?route=checkout/cart/add',
            type: 'post',
            data: $('.product-info span.quantity_'+option+' input[type=\'text\'], .product-info input[type=\'hidden\'], .product-info input[type=\'radio\']:checked, .product-info input[type=\'checkbox\']:checked, .product-info select, .product-info textarea'),
            dataType: 'json',
            success: function(json) {
                $('.success, .warning, .attention, information, .error').remove();
               
                if (json['error']) {
                    if (json['error']['option']) {
                        for (i in json['error']['option']) {
                            $('#option-' + i).after('<span class="error">' + json['error']['option'][i] + '</span>');
                        }
                    }
                }     
                           
                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']);
                   
                    $('html, body').animate({ scrollTop: 0 }, 'slow');
                }   
    
            }
        });
    
    }
     
    buldozer, Pelmen и Krasovskiy нравится это.
  4. Tapi

    Tapi

    Регистрация:
    2 мар 2014
    Сообщения:
    1
    Симпатии:
    0
    Первую часть кода вставлять в карточку товара, а вторую часть куда подскажите куда вставлять, пожалуйста.
     
  5. tvzon

    tvzon

    Регистрация:
    3 мар 2015
    Сообщения:
    5
    Симпатии:
    1

    А в каком файле все это прописывать? Если не затруднит, укажите полный путь... Заранее спасибо!
     
  6. Fizik

    Fizik

    Регистрация:
    12 апр 2016
    Сообщения:
    1
    Симпатии:
    0
    Подскажите пожалуйста, как реализовать данный функционал? Список появляется, а вот товар в корзину не добавляется. Опенкарт 2.1.0.1