该ecshop修改方法可以让二次开发者更好的支持定制模板,针对ECSHOP进一步的优化起到决定性的作用,以下ecshop模板堂方法:
添加库文件
demo1
1. 在 /themes/CURRENT_THEME/library/ 下新建一个demo-libs.lbi文件,并添加以下内容:(新建库)
2. 在 /languages/zh_cn/admin/template.php文件中添加以下一行:(库的中文名)
3. 在 /themes/CURRENT_THEME/index.dwt 文件中任意位置添加以下内容:(使用示例,可在任意文件中调用)
完成上述三步,在首页即可看到新添加的内容。后台 - 模板管理 - 库项目管理中也可以看到并可编辑。库项目并没有写入数据库存储,而是在template.php文件中用opendir,readdir函数读取文件列表的。
说明:在模板文件(.dwt)中常看到 BeginLibraryItem 和 EndLibraryItem标签中间有一段代码,这段代码会被BeginLibraryItem标签所引用的库文件中的内容覆盖掉,所以做模板时这点html代码可有可无。
===============================================
上述步骤说明了新建一个库文件,并把库文件手动添加到页面的方法。但是经常,需要灵活的控制库项目的位置,比如显示在左边或右边。ecshop的后台提供了这样的机制,允许后台编辑库项目的存放区域。
demo2
1. 按照 demo1步骤1,2新建一个库文件 demo_second.lbi,并设置好语言。
2. 打开 /admin/includes/lib_template.php 找到 $page_libs ( 大概53行,/* 每个模板允许设置的库项目 */),在'index'=>array()的数组里添加如下一行:
3. 后台-模板管理-设置模板,即可做管理了。
说明:默认主题目录下有个libs.xml文件,这个就是配置模板的。系统默认就有一些模板和库项目(参见/admin/includes/lib_template.php文件)的,如果没有libs.xml文件,则后台模板设置里,这些系统默认的模板文件库项目都是可编辑的。设置libs.xml后,在libs.xml中出现的文件是可编辑的,未出现的是不可编辑的。这里所说的编辑是指后台的操作。另外,数据表{pre}_template会记录这些操作,为了来回切换主题时,自动加载上次的配置。
==================================
添加可编辑区域
后台设置模板时,可以选择库项目的投放区域。后台会遍历该模板文件(dwt)的DOM,把所有可编辑区域列出来,供库项目选择区域。这个类似于wordpress博客的工具栏。至于该区域显示在页面的哪个地方,则由css控制。
demo3
在dwt文件中添加一个:
========================================
添加可编辑的模板
demo4
1. 打开 /admin/includes/lib_template.php 文件,在$template_files数组最末添加 'demo.dwt'
2. 在 $page_libs 数组中添加如下数据:
3. 添加语言描述。/languages/zh_cn/admin/template.php
$_LANG['template_files']['demo'] = '示例模板';
4. 把index.dwt文件复制为demo.dwt
5. 后台-模板管理-设置模板-请选择一个模板(下拉列表选择“示例模板”),即可看到了。