首页建站经验 Ecshop二次开发之自定义库文件和模板数据调用实例

Ecshop二次开发之自定义库文件和模板数据调用实例

本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法。分享给大家供大家参考。具体方法如下:Smarty的标签非常多,也比较繁琐,所以Ecshop使用了精简版的Smarty,其中用…

本文实例讲述了Ecshop二次开发之自定义库文件和模板数据调用方法。分享给大家供大家参考。具体方法如下:

Smarty的标签非常多,也比较繁琐,所以Ecshop使用了精简版的Smarty,其中用到的Smarty模板语法:

{$keywords} 输出模板变量

{$array.test.abc} 输出二维数组

{$lang.remark_package} 语言包$lang[remark_package]

{insert_scripts files='common.js'} 引入js文件

xxxx 循环

xxxx 判断

引入goods_tags.lbi库文件,相当于PHP的include

{*内容*} html注释,只在模板上显示,页面上会被删除掉.Ecshop二次开发的数据调用,主要动用到以下两个目录下的文件

dwt(模板文件)路径: themes/default

lbi(库文件)路径: themes/default/library

举个例子就很清楚了,是我从网上找来的,由于转载得很严重,所以不知道真正出处。

我们在themes/default/library下新建一个名为newest_comments.lbi的库文件,写入以下内容:

if(!function_exists("get_new_comments")){

function get_new_comments($num)

{

$sql = 'SELECT * FROM '. $GLOBALS['ecs']->table('comment') .

' WHERE status = 1 AND parent_id = 0 and comment_type=0 '.

' ORDER BY add_time DESC';

if ($num > 0)

{

$sql .= ' LIMIT ' . $num;

}

//echo $sql;

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

$comments = array();

foreach ($res AS $idx => $row)

{

$comments[$idx]['add_time'] = $comments[$idx]['add_time'] = local_date

($GLOBALS['_CFG']['time_format'], $row['add_time']);

$comments[$idx]['user_name'] = $row['user_name'];

$comments[$idx]['content'] = $row['content'];

$comments[$idx]['id_value'] = $row['id_value'];

}

return $comments;

}

}

$this->assign('new_comments',get_new_comments(10)); // 10条最新评论

?>

{$comment.content|truncate:15:""}

时间:{$comment.add_time}

这样一个库文件就做好了。我们发现,库文件可以使用PHP、Smarty标签和HTML混写的写法,这无疑大大降低了我们二次开发的难度。这个库文件的作用,就是取出数据库中的10条最新评论,并且循环输出到模板。

接下来我们就要在模板中调用这个库文件,我们打开首页的模板themes/default/index.dwt(这里的dwt文件和页面都是一一对应,如商品页是goods.dwt,品牌页是brand.dwt)。我们在首页模板适当的地方加入:

@@@这里即使修改了也没反应@@@

这样就实现了自定义库文件的编写和调用。

细心的你可能会发现,在Ecshop的dwt模板文件中,调用库文件标签<– #BeginLibraryItem “/library/和<– #EndLibraryItem –>之间存在着一些和对应的lbi库文件中重复的内容。

你可以把它们当作是注释,用Dreamweaver等编辑器编辑模板时候的需要看见的注释。 真正的库文件内容还需要到相应的库文件中去修改。好吧 ,就是这些,简单吧。

希望本文所述对大家的ecshop二次开发有所帮助。

本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/jianzhan/jingyan/16344.html
上一篇使用php中的file_get_contents函数抓取调用淘宝任意一商品详情的方法
下一篇 Ecshop迁移后首页出现缺少sessions_data数据库表的解决案例
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部