如何在特色产品模块中添加制造商徽标? | Opencart的

时间:2014-03-29 12:09:01

标签: php opencart

Hy家伙,我对opencart很新,我需要你的帮助。 我设法在产品页面上添加了制造商的徽标,但我知道我想在特色产品中显示制造商的徽标。 我设法添加制造商的名称,但不知道如何获得它的img链接:(。我使用OC 1.5.5.1

这是我featured.php的代码:

<?php
class ControllerModuleFeatured extends Controller {
    //alex start
    protected function index($setting) {
        $this->language->load('module/featured'); 

        $this->data['heading_title'] = $this->language->get('heading_title');

        $this->data['button_cart'] = $this->language->get('button_cart');

        $this->load->model('catalog/product'); 

        $this->load->model('tool/image');

        $this->data['products'] = array();

        $products = explode(',', $this->config->get('featured_product'));       

        if (empty($setting['limit'])) {
            $setting['limit'] = 5;
        }

        $products = array_slice($products, 0, (int)$setting['limit']);

        foreach ($products as $product_id) {
            $product_info = $this->model_catalog_product->getProduct($product_id);

            if ($product_info) {
                if ($product_info['image']) {
                    $image = $this->model_tool_image->resize($product_info['image'], $setting['image_width'], $setting['image_height']);
                } else {
                    $image = false;
                }

                if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                    $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $price = false;
                }

                if ((float)$product_info['special']) {
                    $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')));
                } else {
                    $special = false;
                }

                if ($this->config->get('config_review_status')) {
                    $rating = $product_info['rating'];
                } else {
                    $rating = false;
                }

                $this->data['products'][] = array(
                    'product_id'      => $product_info['product_id'],
                    'thumb'           => $image,
                    'name'            => $product_info['name'],
                    'manufacturer'    => $product_info['manufacturer'],              
                    'manufacturer_id' => $product_info['manufacturer_id'],
                    //'manufacturer_img'=> $product_info['manufacturer_img'],
                    'manufacturers'   => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $product_info['manufacturer_id']),
                    'price'           => $price,
                    'special'         => $special,
                    'rating'          => $rating,
                    'reviews'         => sprintf($this->language->get('text_reviews'), (int)$product_info['reviews']),
                    'href'            => $this->url->link('product/product', 'product_id=' . $product_info['product_id'])
                );
            }
        }


        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/featured.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/module/featured.tpl';
        } else {
            $this->template = 'default/template/module/featured.tpl';
        }

        $this->render();
    }
}
?>

1 个答案:

答案 0 :(得分:1)

您必须在目录/ model / product.php中修改产品的模型文件,方法是将m.image AS manufacturer_img,添加到getProduct函数的现有选择查询中。请参阅以下代码段:

......................

$query = $this->db->query("SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, `m.image AS manufacturer_img,` (SELECT price ...

................

然后将'manufacturer_img' => $query->row['manufacturer_img'],添加到返回数组:

.......................

'manufacturer_id'  => $query->row['manufacturer_id'],
'manufacturer_img'  => $query->row['manufacturer_img'],
'manufacturer'     => $query->row['manufacturer'],

......................

最后在您所做的精选模块catalog/controller/module/featured.php上,您可以添加此代码段代码以获取该产品的制造商相关数据:

............................

'manufacturer'    => $product_info['manufacturer'], 
'manufacturer_id' => $product_info['manufacturer_id'],
'manufacturer_img'=> $product_info['manufacturer_img'],