如何在Opencart 2.0的类别页面中添加产品选项 [英] How to add product options in category page in opencart 2.0

查看:109
本文介绍了如何在Opencart 2.0的类别页面中添加产品选项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在opencart 2.0的类别页面中添加产品选项.

I want to add product options in the category page in opencart 2.0.

我已将此代码添加到\ catalog \ model \ catalog \ product.php

I have added this code in \catalog\model\catalog\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 }

然后在\ controller \ product \ category.php中

and then in \controller\product\category.php

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

所以现在在$ this-> data ['products'] []类别中变成了这样的

so now in category $this->data['products'][] becomes something like this-

$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'])
);

现在,我不了解如何在集合视图(.pl)中称呼它

Now i didn't understand how to call this in my view i.e., in collection.tpl

请帮助我在我的视图中显示此商品,以在类别页面中显示产品选项.

Please help me to display this in my view, to show the product options in category page.

推荐答案

我花了几个小时来做​​,但是我能使它工作.现在,我只需要SELECT,这样您就可以根据类别中的需要对其进行修改了.我正在使用2.1.0.2版

I spent hours doing this but I got it working. Now, I only needed the SELECT so you go and modified it to your needs in the category.tpl I'm using version 2.1.0.2

1-转到/catalog/controller/product/category.php 然后>>找到产品阵列

1- Go to /catalog/controller/product/category.php Then >> Find the product array

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

2-将此代码添加到数组上方

2- Add this code above the array

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-将此代码添加到产品数组中

3- add this code inside the products array

'option'    => $option_data

4-转到/catalog/view/theme/您的模板/template/product/category.tpl并将此代码添加到您的产品循环中

4- Go to /catalog/view/theme/YOUR TEMPLATE/template/product/category.tpl and add this code to your product loop

        <?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,因此无需添加产品页面就可以将带有数量和选项的产品添加到购物车中.谢谢

I'm still working in the javascript so I can add product to the cart with quantity and options without going into the product's page. Thanks

这篇关于如何在Opencart 2.0的类别页面中添加产品选项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆