ECSHOP首页增加一个浏览排行
时间:2024年02月04日
/来源:网络
/编辑:佚名
一个类似于“销售排行榜”的“浏览排行榜”,并且可以在后台的“模板设置”里进行控制。
由于系统默认是没有读取浏览排行的,所以这部分功能既得增加程序,又得增加模板。
以 ecshop2.7.2 官方默认模板 为例进行修改的。
一、将下面代码复制并保存到 一个新文件中,文件路径为: /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>
复制代码
二、修改 /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;
}
复制代码
三、在网站根目录打开 /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 -->
五、打开 /admin/includes/lib_template.php 查找
'/library/invoice_query.lbi' => 0,
在上面添加代码
'/library/top10_click.lbi' => 0,
六、继续修改语言包文件 /languages/zh_cn/admin/template.php 查找
$_LANG['template_libs']['top10'] = '销售排行';
在下面添加代码
$_LANG['template_libs']['top10_click'] = '浏览排行';
七、修改 /themes/default/lib.xml 查找
<lib>top10</lib>
在下面添加代码
<lib>top10_click</lib>
八、最后进入 后台 》模板管理 》设置模板, 是不是看到了期待已久的“浏览排行”,设置一下,并清除缓存,就OK了
由于系统默认是没有读取浏览排行的,所以这部分功能既得增加程序,又得增加模板。
以 ecshop2.7.2 官方默认模板 为例进行修改的。
一、将下面代码复制并保存到 一个新文件中,文件路径为: /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>
复制代码
二、修改 /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;
}
复制代码
三、在网站根目录打开 /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 -->
五、打开 /admin/includes/lib_template.php 查找
'/library/invoice_query.lbi' => 0,
在上面添加代码
'/library/top10_click.lbi' => 0,
六、继续修改语言包文件 /languages/zh_cn/admin/template.php 查找
$_LANG['template_libs']['top10'] = '销售排行';
在下面添加代码
$_LANG['template_libs']['top10_click'] = '浏览排行';
七、修改 /themes/default/lib.xml 查找
<lib>top10</lib>
在下面添加代码
<lib>top10_click</lib>
八、最后进入 后台 》模板管理 》设置模板, 是不是看到了期待已久的“浏览排行”,设置一下,并清除缓存,就OK了
新闻资讯 更多
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法