ecshop模板机制

经常可以看到ecshop的dwt文件里面有“ 和 ”这么一段代码,有很多朋友误认为只是注释代码,这里首先来介绍一下#BeginLibraryItem这段代码。可以看到后面有“page_header.lbi“这个.lbi文件是一个库文件,打开后发现里面就是一些html代码,index.dwt为模板,那么这个.lbi可以理解为模板index.dwt的子模板,.lbi专门供别的的dwt模板导入的子模板. 那么 TemplateBeginEditable这个又是干什么用的呢? 很多人知道这个是可编辑区域的意思,意思就是在TemplateBeginEditable 和 TemplateEndEditable之间的位置是可编辑区域,具体的我们来举个例字。首先我们到ecshop 管理员后台的模板管理->设置模板里面可以看到以下这个
ecshop模板机制(一) - Wei - 海上升明月 天涯共此时

可以看到上面的默认选择了首页模板,假如当你将 商品分类树 选择为右边主区域 点击确定之后 清楚缓存,在刷新首页这是你会发现,原来的 商品分类树 从左边跑到右边了。在上面的下拉框中我们看到只有三个选择,右边主区域,左边主区域,广告位,如果你想多加几个选项,那么很简单,只要你在你要改的模板内多加上几个就行了,假如你要在index.dwt模板添加   “左上角主区域”,和“右下角主区域”,那么你可以在index.dwt 里面加入



这是你再到后台,模板设置里面看首页的选项中就有这个选项


ecshop模板机制(一) - Wei - 海上升明月 天涯共此时
下面我来讲解一下怎么制作自己的模板, 我拿index.dwt为例, 首先在\themes\default\下将index.dwt文件拷贝一份改名为home.dwt在

里面加一句话 "这是自己定义的home.dwt模板" 以方便调试, 同样在根目录下的index.php文件拷贝一份改名为home.php里面加一行 echo '这是自己定义的home.php'; 代码以便调试 同时把$smarty->display('index.dwt', $cache_id);改为$smarty->display('home.dwt', $cache_id);然后 清楚缓存 在浏览器通过 http://localhost/ecshop/home.php执行你会发现这个页面跟首页一样,只是多了一段 "这是自己定义的home.php 这是自己定义的home.dwt模板" 文字。 当然home.php 和home.dwt 文件里面的内容可以自己定义.
当你再到后台模板管理->设置模板 里面的 选择模板下拉框选项中没有你加的home模板,这时你就要在\admin\includes\lib_template.php里配置一下。在代码”$template_files = array('index.dwt', “ 加上你的模板”$template_files = array('home.dwt','index.dwt',“ ,告诉系统有home.dwt这么一个模板,其次在$page_libs = array( 这个二位数组里面的 'index' => array( 这个数组拷贝一份,改名为home ,意思就是告诉系统你这个home模板里面可以导入哪些.lbi文件.这点配置还不够,你还要在\languages\zh_cn\admin/template.php语言包里面加一行$_LANG['template_files']['home'] = 'Myhome模板';代码.然后你再到后台模板管理->设置模板可以看到如下结果
 
  ecshop模板机制(一) - Wei - 海上升明月 天涯共此时

你会发现下拉框中多了一个Myhome模板选项,当你点击旁边的确定按钮时会报错,这是因为你还有一个xml文件没修改,打开themes\default\libs.xml文件,将 节点内的代码拷贝一份把节点名改为这时你再来重复上次的操作点击旁边的确定,就不会报错了。

接下来我们制作.lbi库文件
首先我们在\themes\default\library\目录下新建一个home.lbi文件 里面输入"这是我自的lbi文件"然后在\admin\includes\lib_template.php文件里面,你刚才新加的'home' => array(home数组里面 添加你的home.lbi 既在这个数组末尾加'/library/home.lbi' => 0 同样像修改模板一样在\languages\zh_cn\admin\template.php 里面加入一行 $_LANG['template_libs']['home'] = 'Myhome库文件'; 代码 这时你到后台 模板管理->库项目管理 你就会发现刚刚你加的库文件出来了。

 
ecshop模板机制(一) - Wei - 海上升明月 天涯共此时
 

里面代码可以自己修改

这时候你再到 模板管理->设置模板->选择Myhome模板 确定后,下面可以发现你要编辑的lbi出来了,


ecshop模板机制(一) - Wei - 海上升明月 天涯共此时

默认是非可编辑区库文件如果你要变为可选择项那么你可以到\themes\default\libs.xml文件里找到刚才你加的   里面加上home你再回来看就可以了。记得要把后面对应的显示复选框勾选上,否则你保存不了你的选择。

这时你再来访问http://localhost/ecshop/home.php 你会发现 "这是我自的lbi文件" 文字出来了。


ecshop模板机制(一) - Wei - 海上升明月 天涯共此时
 


 另外需要补充一下的
 

遵循如下3步骤
     1 在library 里面新建 lbi 文件,比如 phpsir.lbi , 请设置 777,到后台库项目里面就能看到和可以编辑 phpsir.lbi
     2 修改 admin/includes/lib_template.php 里面的 $page_libs 变量
     3 在 libs.xml 里面找对应模板dwt文件,里面写入 phpsir

到后台模板设置,就可以调整此块内容居于左右位置了


详细出处参考:http://www.csdn123.com/html/2013/netfriend_0315/374863.html

原文地址:http://www.csdn123.com/html/2013/netfriend_0315/374863.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值