ecshop 首页获取指定分类的推荐商品

2014-11-11 晦涩sunshine PHP学习笔记

        ecshop自带函数就可以实现这个功能,函数如下:

        include/lib_goods.php 中的get_category_recommend_goods($type = '', $cats = '', $brand = 0, $min =0,  $max = 0, $ext='')函数。

调用步骤:

        第一步:在根目录index.php文件     $smarty->assign('shop_notice',     $_CFG['shop_notice']);       // 商店公告 下方(约128行),插入如下代码:


        $smarty->assign('category_recommend_goods22',    get_category_recommend_goods('hot',22)); //调用指定分类下推荐商品

其中category_recommend_goods22为在模板中调用的名称hot为要调用的推荐类型,22为指定分类的分类id。


        第二步:打开你的首页模板文件,在需要调用的地方插入下边代码:

<!--{foreach from=$category_recommend_goods22 item=goods name="category_recommend_goods"}-->					
		<!-- {if $smarty.foreach.category_recommend_goods.iteration < 7} **商品显示数量 -->
		  <li><a href="{$goods.url}"><img src="{$goods.thumb}" width="194" height="172" /></a><div><br />
			   <a href="{$goods.url}">{$goods.name|truncate:10:"...":true}</a><br />{$goods.brief}<br /> 
			   ¥{$goods.shop_price}</div>
		  </li>
		<!--{/if}-->   
<!--{/foreach}--> 

          完成上边两部基本上就大功告成了,但是有个问题,就是不能获取到该指定分类的子分类下的推荐商品,这样就需要对默认的函数进行改造,方法见第三步。



        第三步:找到第一步用到的函数get_category_recommend_goods,查找

    if (!empty($cats))
    {
        $sql .= " AND (" . $cats . " OR " . get_extension_goods($cats) .")";
    }



    替换为:


    if (!empty($cats))
    {	
		//获取指定分类的所有子分类id cjm 20141111
		$cat_tree =  get_children($cats);		
        $sql .= " AND (".$cat_tree." OR " . get_extension_goods($cats) .")";
    }


        通过以上三步,就是可以实现在首页调用任意分类下的推荐商品了。


标签: ecshop

发表评论:

Powered by emlog sitemap