最近在opencart中查看了相关产品的产品

时间:2014-09-15 23:12:08

标签: opencart

我正在使用1.5.6.1 opencart版本,并从opencart下载最近查看过的产品模块。这个模块工作正常,但需要一些自定义我希望每个上次访问的产品视图在主页上推荐产品(相关产品)

例如:

http://s23.postimg.org/u91g713iz/recently_viewed.png

下面有链接我使用了模块

http://www.opencart.com/index.php?route=extension/extension&filter_license=0&filter_search=viewed%20recently&sort=e.price&order=ASC

此外,我还下载了另一个扩展程序"推荐产品(相关产品)"。我认为这个扩展是帮助定制最近查看的产品与推荐产品,但我不明白该怎么做,我在哪里编辑 请帮助我任何人。 :扼流圈:

recently_viewed.php

<?php
class ControllerModuleLbLastViewed extends Controller {
    protected function index($setting) {

    $lblastviewed_products = array();

        if (isset($this->request->cookie['lblastviewed'])) {
            $lblastviewed_products = explode(',', $this->request->cookie['lblastviewed']);
        } else if (isset($this->session->data['lblastviewed'])) {
            $lblastviewed_products = $this->session->data['lblastviewed'];
        }

        if (isset($this->request->get['route']) && $this->request->get['route'] == 'product/product') {

            $product_id = $this->request->get['product_id'];   

            $lblastviewed_products = array_diff($lblastviewed_products, array($product_id));

            array_unshift($lblastviewed_products, $product_id);

            setcookie('lblastviewed', implode(',',$lblastviewed_products), time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);

            if (!isset($this->session->data['lblastviewed']) || $this->session->data['lblastviewed'] != $lblastviewed_products) {
                $this->session->data['lblastviewed'] = $lblastviewed_products;
            }
        } 

        $show_on_product = $this->config->get('show_on_product');

        if (isset($this->request->get['route']) && $this->request->get['route'] == 'product/product' && (!isset($show_on_product) || !$show_on_product)) {
            return;
        }

        $lblastviewed_count = $this->config->get('lblastviewed_count');

        $products = array();

        if (isset($lblastviewed_count) && $lblastviewed_count > 0) {
            for ($i = 0; $i < $lblastviewed_count; $i++) {

                $key = isset($product_id) ? $i + 1 : $i;

                if (isset($lblastviewed_products[$key])) {
                    $products[] = $lblastviewed_products[$key];
                }
            }
        }        

        $this->language->load('module/lblastviewed'); 

        $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();

        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'],
                    '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/lblastviewed.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/module/lblastviewed.tpl';
        } else {
            $this->template = 'default/template/module/lblastviewed.tpl';
        }

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

recently_viewed.tpl

<?php if (count($products) > 0) { ?>
<div class="box">
  <div class="box-heading"><?php echo $heading_title; ?></div>
  <div class="box-content">
    <div class="box-product">
      <?php foreach ($products as $product) { ?>
      <div>
        <?php if ($product['thumb']) { ?>
        <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" alt="<?php echo $product['name']; ?>" /></a></div>
        <?php } ?>
        <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div>
        <?php if ($product['price']) { ?>
        <div class="price">
          <?php if (!$product['special']) { ?>
          <?php echo $product['price']; ?>
          <?php } else { ?>
          <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span>
          <?php } ?>
        </div>
        <?php } ?>
        <?php if ($product['rating']) { ?>
        <div class="rating"><img src="catalog/view/theme/default/image/stars-<?php echo $product['rating']; ?>.png" alt="<?php echo $product['reviews']; ?>" /></div>
        <?php } ?>
        <div class="cart"><a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><span><?php echo $button_cart; ?></span></a></div>
      </div>
      <?php } ?>
    </div>
  </div>
</div>
<?php } ?>

0 个答案:

没有答案