繁体   English   中英

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

[英]How to add manufacturer logo in featured products module? | Opencart

大家好,我是opencart的新手,我需要您的帮助。 我设法在产品页面上添加了制造商的徽标,但知道我想在特色产品中显示制造商的徽标。 我设法添加了制造商的名称,但不知道如何获取它的img链接:(。Im使用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();
    }
}
?>

您必须通过将m.image AS manufacturer_img,添加到getProduct函数的现有选择查询中m.image AS manufacturer_img,来修改catalog / model / product.php中产品的模型文件。 请参见下面的代码段:

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

$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 /controller/module/featured.php中,您可以添加以下代码段以获得与制造商相关的产品数据:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM