2016-03-29 4 views
0

Я развиваю корзину покупок в Opencart 2.x.Номер продукта Выпадающая группа в корзине Page - Opencart

Все шло гладко, но я застрял в одном месте, где мне нужно выпадающее меню в cart.tpl вместо отображения количества в поле ввода с кнопкой корзины обновлений.

Я изучил контроллер cart.php, но не смог определить, где взять количество.

код заглянул, как показано ниже:

$data['products'][] = array(
    'cart_id' => $product['cart_id'], 
    'thumb'  => $image, 
    'name'  => $product['name'], 
    'model'  => $product['model'], 
} 

Я попытался добавить количество здесь, но не в состоянии получить на cart.tpl.

Тогда я решил проверить Cart add() функцию и получить количество там, как показано ниже:

public function add() { 
    $this->load->model('catalog/product'); 
    $product_info = $this->model_catalog_product->getProduct($product_id); 
    $data['qty'] = sprintf($product_info['quantity']); 
    // I added this data line 
} 

но даже тогда делать echo $qty на cart.tpl ничего не дает. Любые предложения?

ответ

1

Первая открытая система \ Библиотека \ Корзина \ cart.php и найти следующие строки кода:

$product_data[] = array(
       'cart_id'   => $cart['cart_id'], 
       'product_id'  => $product_query->row['product_id'], 

Ниже этих строк кода оных следующие строки:

'product_quantity'   => $product_query->row['quantity'], 

Второй каталог открыт контроллер \ контроллер \ checkout \ cart.php и найти следующие строки кода:

$data['products'][] = array(
       'cart_id' => $product['cart_id'], 

Ниже этих строк кодов добавьте следующую строку:

'product_quantity'=>$product['product_quantity'], 

В последней находке следующих строк кода в каталоге/вид/темы/YOUR_ACTIVATED_THEME/шаблон/проверках/cart.tpl

<td class="text-left"> 
        <div class="input-group btn-block" style="max-width: 200px;"> 
         <input type="text" name="quantity[<?php echo $product['cart_id']; ?>]" 
          value="<?php echo $product['quantity']; ?>" size="1" class="form-control"/> 
       <span class="input-group-btn"> 
       <button type="submit" data-toggle="tooltip" title="<?php echo $button_update; ?>" 
         class="btn btn-primary"><i class="fa fa-refresh"></i></button> 
       <button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" 
         class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i 
          class="fa fa-times-circle"></i></button> 
       </span></div> 
       </td> 

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

<!--Changes done--> 
       <td class="text-left"> 
        <div class="input-group btn-block" style="max-width: 200px;"> 
         <select name="quantity[<?php echo $product['cart_id']; ?>]" 
           onchange='this.form.submit()'> 
          <?php for($cp=1; $cp<=$product['product_quantity']; $cp++){ ?> 
          <option 
          <?php if($product['quantity']==$cp){ echo "selected"; } ?> 
          value="<?php echo $cp; ?>"><?php echo $cp; ?></option> 
          <?php } ?> 
         </select> 
    <span class="input-group-btn"> 
    <button type="button" data-toggle="tooltip" title="<?php echo $button_remove; ?>" 
      class="btn btn-danger" onclick="cart.remove('<?php echo $product['cart_id']; ?>');"><i 
       class="fa fa-times-circle"></i></button> 
    </span> 
        </div> 
       </td> 
       <!--End of Changes done--> 

Вы можете скачать приведенные файлы следующих ссылок и просмотреть изменения, а также просмотреть демонстрацию на картинке: https://webocreation.com/blog/dropdown-quantity-product-cart-page-opencart-2-2

+0

Удивительный мужчина .. Сохранял мой день :) – Gags