关于在ECSHOP首页增加一个浏览排行
                    
                        2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家 
                    
                    
                        
                        
    
        
            | 
             最近有看到朋友在ECSHOP论坛里提问: 如何在首页增加一个类似于“销售排行榜”的“浏览排行榜”,并且可以在后台的“模板设置”里进行控制。 
             
            由于系统默认是没有读取浏览排行的,所以这部分功能既得增加程序,又得增加模板。 
            本教程是以 ecshop2.7.2 官方默认模板 为例进行讲解的。 
             
            效果图如下: 
              
            
             
             
            1)、将下面代码复制并保存到 一个新文件中,文件路径为: /themes/default/library/top10_click.lbi
            
 
                
                    
                        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
                        <div class="box"> 
                         <div class="box_2"> 
                           <h3><span>浏览排行</span></h3> 
                          <div class="top10List clearfix"> 
                          <!-- {foreach name=top_goods from=$top_goods_click item=goods}--> 
                          <ul class="clearfix"> 
                         <img src="../images/top_{$smarty.foreach.top_goods.iteration}.gif" class="iteration" /> 
                         <!-- {if $smarty.foreach.top_goods.iteration<4}--> 
                              <li class="topimg"> 
                              <a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}" class="samllimg" /></a> 
                              </li> 
                         <!-- {/if} -->   
                              <li {if $smarty.foreach.top_goods.iteration<4}class="iteration1"{/if}> 
                              <a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name}</a><br /> 
                              {$lang.shop_price}<font class="f1">{$goods.price}</font><br /> 
                              </li> 
                            </ul> 
                          <!-- {/foreach} --> 
                          </div> 
                         </div> 
                        </div> 
                        <div class="blank5"></div> | 
                     
                
             
             
            2)、修改 /includes/lib_goods.php 文件 
            在最下面增加一个函数 
            
                
                    
                        /** 
                         * 调用浏览排行榜 
                         * 
                         * @access  public 
                         * @return  array 
                         */ 
                        function get_top10_click() 
                        { 
                         $sql="SELECT goods_id, goods_name, shop_price, goods_thumb " . 
                                   'FROM ' . $GLOBALS['ecs']->table('goods')." where is_on_sale = 1 AND is_alone_sale = 1 AND is_delete = 0 order by click_count desc limit 10"; 
                         $arr = $GLOBALS['db']->getAll($sql); 
                            for ($i = 0, $count = count($arr); $i < $count; $i++) 
                            { 
                                $arr[$i]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ? 
                                                            sub_str($arr[$i]['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $arr[$i]['goods_name']; 
                                $arr[$i]['url']        = build_uri('goods', array('gid' => $arr[$i]['goods_id']), $arr[$i]['goods_name']); 
                                $arr[$i]['thumb'] = get_image_path($arr[$i]['goods_id'], $arr[$i]['goods_thumb'],true); 
                                $arr[$i]['price'] = price_format($arr[$i]['shop_price']); 
                            } 
                         return $arr; 
                        } | 
                     
                
             
             
            3)、修改 /index.php 文件 
            在
            
                
                    
                        | $smarty->assign('top_goods',       get_top10());           // 销售排行 | 
                     
                
             
             
            下面另起一行增加
            
                
                    
                        | $smarty->assign('top_goods_click',       get_top10_click());           // 浏览排行 | 
                     
                
             
             
            修改模板文件 /themes/default/index.dwt 
            找到 
            
                
                    
                        | <!-- #BeginLibraryItem "/library/promotion_info.lbi" --> | 
                     
                
             
            在它的前面增加 
            
                
                    
                        | <!-- #BeginLibraryItem "/library/top10_click.lbi" --><!-- #EndLibraryItem --> | 
                     
                
             
             
             
            4)、修改 /admin/includes/lib_template.php 文件 
             
            在
            
                
                    
                        | '/library/invoice_query.lbi' => 0, | 
                     
                
             
             
            上边增加一行代码 
            
                
                    
                        | '/library/top10_click.lbi' => 0, | 
                     
                
             
             
            5)、继续修改语言包文件  /languages/zh_cn/admin/template.php  
            在
            
                
                    
                        | $_LANG['template_libs']['top10'] = '销售排行'; | 
                     
                
             
             
            下边增加一行代码 
            
                
                    
                        | $_LANG['template_libs']['top10_click'] = '浏览排行'; | 
                     
                
             
             
            6)、修改  /themes/default/lib.xml 文件 
             
            找到
            
             
            并且在它下面另起一行,增加
            
             
             7)、最后进入 后台 》模板管理 》设置模板, 是不是看到了期待已久的“浏览排行”,设置一下,并清除缓存,就OK了
              
             |