我们的使命

助力跨境卖家高效建立全球销售网络

喜报2021年我司获《江苏省国家高新技术企业》认定

分类目录

文章标签

热门推荐

相关咨讯

opencart商品随机,magento重装

2022-09-19 10:04:50 - 米境通跨境电商

    

    Opencart首页最新产品(LatestProducts)随机显示方法

    Opencart首页LatestProducts产品是不可控的,如果一直不上传新产品,LatestProducts显示固定不变,不像zen-cart每次刷新都有变化。我帮它动一下小手术。

    文件位置:catalogmodelcatalogproduct.php.

    方法一

    把getLatestProducts修改成以下代码:

    publicfunctiongetLatestProducts($limit){

    $query=$this->db->query("SELECT*,pd.nameASname,p.image,m.nameASmanufacturer,ss.nameASstock,(SELECTAVG(r.rating)FROM".DB_PREFIX."reviewrWHEREp.product_id=r.product_idGROUPBYr.product_id)ASratingFROM".DB_PREFIX."productpLEFTJOIN".DB_PREFIX."product_descriptionpdON(p.product_id=pd.product_id)LEFTJOIN".DB_PREFIX."product_to_storep2sON(p.product_id=p2s.product_id)LEFTJOIN".DB_PREFIX."manufacturermON(p.manufacturer_id=m.manufacturer_id)LEFTJOIN".DB_PREFIX."stock_statusssON(p.stock_status_id=ss.stock_status_id)WHEREp.status='1'ANDp.date_available<=NOW()ANDpd.language_id='".(int)$this->config->get('config_language_id')."'ANDp2s.store_id='".(int)$this->config->get('config_store_id')."'ANDss.language_id='".(int)$this->config->get('config_language_id')."'ORDERBYrand()DESCLIMIT".(int)$limit);

    $product_data=$query->rows;

    return$product_data;

    }

    方法二

    把getLatestProducts修改成以下代码:

    publicfunctiongetLatestProducts($limit){

    $product_data=$this->cache->get('product.latest.'.$this->config->get('config_language_id').'.'.(int)$this->config->get('config_store_id').'.'.$limit);

    if(!$product_data){

    $query=$this->db->query("SELECT*,pd.nameASname,p.image,m.nameASmanufacturer,ss.nameASstock,(SELECTAVG(r.rating)FROM".DB_PREFIX."reviewrWHEREp.product_id=r.product_idGROUPBYr.product_id)ASratingFROM".DB_PREFIX."productpLEFTJOIN".DB_PREFIX."product_descriptionpdON(p.product_id=pd.product_id)LEFTJOIN".DB_PREFIX."product_to_storep2sON(p.product_id=p2s.product_id)LEFTJOIN".DB_PREFIX."manufacturermON(p.manufacturer_id=m.manufacturer_id)LEFTJOIN".DB_PREFIX."stock_statusssON(p.stock_status_id=ss.stock_status_id)WHEREp.status='1'ANDp.date_available<=NOW()ANDpd.language_id='".(int)$this->config->get('config_language_id')."'ANDp2s.store_id='".(int)$this->config->get('config_store_id')."'ANDss.language_id='".(int)$this->config->get('config_language_id')."'ORDERBYrand()DESCLIMIT".(int)$limit);

    $product_data=$query->rows;

    $this->cache->set('product.latest.'.$this->config->get('config_language_id').'.'.(int)$this->config->get('config_store_id').'.'.$limit,$product_data);

    }

    return$product_data;

    }

    去前台刷新一下,看一下效果

    方法一和方法二区别,方法二执行速度比方法一快。但是每次都要删除systemcachecache.product.latest.*这个文件才有更新。如果产品很多最好选用方法二
    联系我们
  • 24H客服
  • 联系电话:16651690460(陈经理)
  • 联系电话:16651692053(李经理)
  • 微信咨询:
南京天遥路联网络科技有限公司,版权所有 Copyright By ©米境通ERP4.0,2015-2025,苏ICP备:苏ICP备15044100号-4, 苏公网安备:32011402011043