分类目录归档:ecshop

php模版引擎 模版继承{extends}的简单实现

套模版的时候最烦的就是重复内容了,虽然ecshop cls_template.php支持{include file=”}, 但是有些时候还是麻烦了点, 所以就打算在此扩展一下 增加模版继承的支持。

下面是实现代码

这里只是简单实现了{extend}{block}标签 ,支持多重继承。

下面是测试代码

输出结果

参考

smarty模板继承

使ecshop 模板中可引用 常量

这篇很早前在博客园写的,现在稍微修改下转过来

据说ecshop的模板类是修改的smarty,不过个人感觉不是修改是完全重写了。它和smarty上只是模板标签上有相同的地方,同时阉割了很多功能。

比如$smarty.const.’常量’,这个就不能用。(其实在模版的有些地方可以直接使用常量,比如在判断语句中,但是你若想输出常量值就不是很方便了)

其实模板引擎原理上并不复杂,只是把一些模板标签替换为php中的函数,变量,语法结构罢了。

这次要在ecshop模板中加入引用常量的功能,只需在函数 cls_template.php中的 make_var()中加入两行代码

 

其中21-23行是新加的,这让就可在模板文件中通过 {$smarty.const.常量}来引用php中定义的常量了