2015-05-27 50 views
2

我想在opencart 2.0的類別頁面中添加產品選項。如何在opencart 2.0的類別頁面中添加產品選項

我已經加入\目錄\型號\目錄\ product.php這個代碼

public function hasOptionPriceIncrease($product_id) { 
    $option_data = $this->getProductOptions($product_id); 
if (is_array($product_option_value)) { 
    foreach ($product_option_value as $option) { 
    if (is_array($option['product_option_value'])) { 
    foreach ($option['product_option_value'] as $value) { 
     if ($value['price'] > 1) { 
     return true; 
     } 
    } 
    } 
} return false } 

,然後在\控制器\產品\ category.php

'has_option_price_increase' =>$this->model_catalog_product->hasOptionPriceIncrease($result['product_id']) 

所以現在在類別$這 - >數據[「產品」] []變得像這個 -

$this->data['products'][] = array(
'product_id' => $result['product_id'], 
'thumb'  => $image, 
'name'  => $result['name'], 
'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..', 
'price'  => $price, 
'special'  => $special, 
'tax'   => $tax, 
'rating'  => $result['rating'], 
'reviews'  => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 
'href'  => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url), 
'has_option_price_increase' =>$this->model_catalog_product->hasOptionPriceIncrease($result['product_id']) 
); 

現在,我不知道如何在我的VI調用此EW即在collection.tpl

請幫我在我看來,以顯示這一點,顯示在分類頁面的產品選項。

+0

嘿@ jx12345,我看到你也做了同樣的事情,你可以請我幫忙看看你的朋友 – user949914

+0

請問你如何在前臺展示這個價格? –

回答

1

我花了幾個小時這樣做,但我得到了它的工作。現在,我只需要選擇讓你去,並將其修改爲您的需求在category.tpl我使用的版本2.1.0.2

1轉到/catalog/controller/product/category.php 然後> >查找產品陣列

$data['products'][] = array(
       'product_id' => $result['product_id'], 

2-添加陣列

foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { 

            foreach ($option['product_option_value'] as $option_value) { 

              $product_option_value_data[] = array(
         'product_option_value_id' => $option_value['product_option_value_id'], 
         'option_value_id'   => $option_value['option_value_id'], 
         'name'     => $option_value['name'], 
         'image'     => $this->model_tool_image->resize($option_value['image'], 50, 50), 
         'price'     => $price, 
         'price_prefix'   => $option_value['price_prefix'] 
        ); 
       } 

       $option_data[] = array(
       'product_option_id' => $option['product_option_id'], 
       'product_option_value' => $product_option_value_data, 
       'option_id'   => $option['option_id'], 
       'name'     => $option['name'], 
       'type'     => $option['type'], 
       'value'    => $option['value'], 
       'required'    => $option['required'] 
       ); 
      } 

3-高於該代碼添加產品陣列

'option' => $option_data 
內部此代碼

4-轉到/目錄/視圖/主題/模板/模板/產品/ category.tpl和將此代碼添加到您的產品循環

 <?php foreach ($product['option'] as $option) { ?> 
     <?php if ($option['type'] == 'select') { ?> 
      <select name="option[<?php echo $option['product_option_id']; ?>]" id="input-option<?php echo $option['product_option_id']; ?>" class="form-control"> 
      <option value="">SELECT EXTENDED LENGTH</option> 
      <?php foreach ($option['product_option_value'] as $option_value) { ?> 
      <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 } ?> 
      </option> 
      <?php } ?> 
      </select> 
      <?php } ?> 
     <?php } ?> 

我仍然在JavaScript工作,所以我可以將數量和選項添加到購物車中,而無需進入產品頁面。謝謝

相關問題