主页 > 系统开发 > 如何修改ecshop实现每个页面显示友情链接

如何修改ecshop实现每个页面显示友情链接

2022-11-16 13:05来源:m.sf1369.com作者:宇宇

一、如何修改ecshop实现每个页面显示友情链接

如何修改ecshop实现每个页面显示友情链接,具体分为两步:

1、打开index.php 找到 index_get_links()函数 剪切 [code]/**

* 获得所有的友情链接

*

* @access private

* @return array

*/

function index_get_links()

{

$sql = 'SELECT link_logo, link_name, link_url FROM ' . $GLOBALS['ecs']->table('friend_link') . ' ORDER BY show_order';

$res = $GLOBALS['db']->getAll($sql);

$links['img'] = $links['txt'] = array();

foreach ($res AS $row)

{

if (!empty($row['link_logo']))

{

$links['img'][] = array('name' => $row['link_name'],

'url' => $row['link_url'],

'logo' => $row['link_logo']);

}

else

{

$links['txt'][] = array('name' => $row['link_name'],

'url' => $row['link_url']);

}

}

return $links;

}[/code]

粘贴到include /lib_goods.php里。

第二步 复制 [code] /* links */

$links = index_get_links();

$smarty->assign('img_links', $links['img']);

$smarty->assign('txt_links', $links['txt']);

[/code]

到需要显示友情链接的页面即可,当然模板link.lbi 你要在显示的页面调用。

二、怎么实现ecshop调用指定分类下级子分类导航

在文件 includes/lib_goods.php 最后加上

//*** 调用商品分类指定分类下级分类

function get_parent_id_tree($parent_id)

{

$three_c_arr = array();

$sql = 'SELECT count(*) FROM ' . $GLOBALS['ecs']->table('category') . WHERE parent_id = '$parent_id' AND is_show = 1 ;

if ($GLOBALS['db']->getOne($sql))

{

$child_sql = 'SELECT cat_id, cat_name, parent_id, is_show ' .

'FROM ' . $GLOBALS['ecs']->table('category') .

WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC;

$res = $GLOBALS['db']->getAll($child_sql);

foreach ($res AS $row)

{

if ($row['is_show'])

$three_c_arr[$row['cat_id']]['id'] = $row['cat_id'];

$three_c_arr[$row['cat_id']]['name'] = $row['cat_name'];

$three_c_arr[$row['cat_id']]['url'] = build_uri('category', array('cid' => $row['cat_id']), $row['cat_name']);

}

}

return $three_c_arr;

}

声明后用$smarty调用,就是在index.php中加上下面一句:

$smarty->assign('get_parent_id16_tree', get_parent_id_tree(16));//调用父级分类6的下级分类

最后就可以在index.dwt模板文件里开始调用了

<!--{foreach from=$get_parent_id16_tree item=list}-->

<a href={$list.url} target=_blank>{$list.name|truncate:15:true}</a>

| <!--{/foreach}--></div>

呵呵,这样就解决了,希望对你有用处

三、ecshop里的语句疑问

ecshop中的表名都有表前缀,默认的表前缀是ecs_,默认的分类表名是ecs_category,直接写数据库表名category,这个表是不存在的,同时ecshop的表前缀可以在安装时自定义,自定义表名有两个好处,一个就是更安全,另一方面就是可以在同一个数据库中安装多套ecshop,多个ecshop共存时我们可以用不同的表名前缀来区分,这样我们访问ecshop的表时通常用

$ecs->table('不带前缀的表名')

如果在函数中我们应该用:

$GLOBALS['ecs']>table('不带前缀的表名'')

ecshop这样做是比较合理科学的方法,现在一般的php开源的系统做法大致和ecshop一样,安全,灵活,可以多套程序共用一个库,

如何查看ecshp安装时设置的表前缀?你可以参考 ecshop_topit_cn/ecshop-tutorial/quick_show_ecshop_table_prefix-116.html (发不了链接请域名部分的下横线换成点号访问)

相关推荐

请教ESB是如何实现系统集成的

系统开发 2024-01-18

如何成功实施管理信息系统?

系统开发 2023-12-28