- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ECMall模板解析语法与机制(最新)
ECMall模板解析语法与机制(最新)
2015-05-22
在ECMall模板中,用{开头,以}结尾就构成一个标签单元,{紧接着的单词就是标签名。在标签单元中单词前含$(美元符)的为变量名。
资源引用
res标签
功能:返回当前模板当前风格目录的url路径
实例:{res file=css/ecmall.css}这个标签在模板编译后将变成http://商城域名/themes/default/styles/default,注意末尾没有/,返回结果会随后台设置的主题变化
lib标签
功能:返回javascript库的url路径
实例:{lib file=ecmall.js}这个标签在模板编译后将变成http://商城域名/includes/libraries/javascript,注意末尾没有/,返回结果不会随后台设置的主题变化
url标签
功能:url解析器,可根据后台伪静态状态返回相应url等。
说明:如果一个链接的目标页面需要伪静态功能,请使用该url标签,只有当后台开启伪静态并在.htaccess文件为目标页面设置了伪静态规则时url标签才能解析为静态url地址。
实例:{url app=goodsid=$goods_id}解析后如果伪静态成功则返回goods/19
include标签:include 标签用于在当前模板中包含其它模板。当前模板中的变量在被包含的模板中可用。必须指定 file 属性,该属性指明模板资源的位置。实例:
1 {include?file=header.html} 2 {* body of template goes here *}
3 {include?file=footer.html} 模板变量
1. 模板保留变量
模板预置的一些系统变量,包括
$smarty.now 当前时刻对应的格林尼治时间戳,可以用{$smarty.now|date}显示当前日期时间,关于date变量调节器请看下文讲解。
$smarty.get $smarty.post $smarty.cookie $smarty.env $smarty.server $smarty.request $smarty.session同php的$_GET、$_POST、$_COOKIE、$_ENV、$_SEVER、$_REQUEST、$_SESSION变量。非程序人员如果需要了解请参考php相关手册了解。
2. 自定义变量
从php赋值变量。例如在调用该模板的app程序文件中进行赋值
1 //在app/default.app.php文件的index方法中$this-display前添加赋值语句 2 $this-assign(name,?Tom);?//普通变量
3 $this-assign(user,?array( 4 ????name?=?Tom,
5 ????age????=?28 6 ));?//数组变量
7 $this-display(index.html); 在themes/mall/default/index.html中显示变量
1 Hello,{$name},your age are {$user.age}! 在模板中赋值变量。assign标签,例在themes/mall/default/index.html中赋值变量
1 {assign?var=name?value=Tom} 2 Hello,{$firstname}! 3.模板上使用语言项
说明:为了满足多语言需求,ECMall采用了语言包机制,除挂件外,在模板、js文件中均使用语言项代替直接显示语言文字。
语言文件:语言文件位于商城根目录下的languages目录下,为当前语言建了一个目录,如果您用的是sc-gbk版本,则会有sc-gbk目录,进去之后就能看到属于前台控制器的全部语言文件了。除common.lang.php属于所有app外,每一个语言文件都只属于一个app(ECMall中称为控制器)。语言文件属于某个控制器而不属于某个模板,同一个模板如果被不同控制器调用将使用不同语言文件进行语言解析。
在默认控制器对应的语言文件default.lang.php添加语言项test:
1 ?php 2 return?array(
3 ????hot_search?=?热门搜索, 4 ????... ...
5 ????best_recommended?=?精品推荐, 6 ????test?=?测试语言项
7 ); 8 ? 在index.html模板中显示语言项test
1 {$lang.test} 模板中还支持数组形式语言项,在默认控制器对应的语言文件default.lang.php添加语言项test_array
01
文档评论(0)