转:

管理中心的“设置模板”其实就是把特定的【库项目】添加到模板中的【可编辑区域】,或从【可编辑区域】中删除/修改某些【库项目】,后台的“设置模板”只能对添加特定的【库项目】,哪个模板可以添加什么库文件是由admin/includes/lib_template.php配置的。当中的数组$page_libs存储了每个模板允许设置的库项目。 

如果你自己开发了一个库项目,并且添加到了某个模板中,那么你就要慎用后台的“设置模板”了,因为一个不小心,“设置模板”功能可能会删除或修改你添加的库项目。

例如,我开发了一个库项目test.lbi,其内容是<div>hello world!</div>,我在首页模板的“左边区域”添加这个库项目。



左边区域原来是放商品目录导航的:



<!-- TemplateBeginEditable name="左边区域" -->

<!-- #BeginLibraryItem "/library/category_tree.lbi" -->

<!-- #EndLibraryItem -->

<!-- TemplateEndEditable -->





现在我把test.lbi插到目录前面

<!-- TemplateBeginEditable name="左边区域" -->

<!-- #BeginLibraryItem "/library/test.lbi" -->

<!-- #EndLibraryItem -->

<!-- #BeginLibraryItem "/library/category_tree.lbi" -->

<!-- #EndLibraryItem -->

<!-- TemplateEndEditable -->

保存index.dwt,刷新网站首页,目录上方出现了“hello word!”



这时我去后台“设置模板”对首页进行设置,随便在某个广告位加一个广告,确定,提交。刷新首页一看,新增的广告出现了,但hello world却不见了,用Dreamweaver打开index.dwt,发现

<!-- TemplateBeginEditable name="左边区域" -->

<!-- #BeginLibraryItem "/library/test.lbi" -->

<!-- #EndLibraryItem -->

<!-- #BeginLibraryItem "/library/category_tree.lbi" -->

<!-- #EndLibraryItem -->

<!-- TemplateEndEditable -->

变回了

<!-- TemplateBeginEditable name="左边区域" -->

<!-- #BeginLibraryItem "/library/category_tree.lbi" -->

<!-- #EndLibraryItem -->

<!-- TemplateEndEditable -->





原来提交时,系统对所有可编辑区域进行了重新设置,由于我自己开发的库项目test.lbi没有在lib_template.php中进行配置,所有在后台“设置模板”中没有显示,【可编辑区域】“左边区域”被更新时就没有把test.lbi加上去了。



要解决这个问题,不能把test.lbi放在可编辑区域,或者在lib_template.php中加上test.lbi,后者改动比较麻烦,一般采用前者。





如果用Dreamweaver手工修改模板或制作模板,【可编辑区域】标签能省就省吧!如果你对该区域的内容已经制定,就不必用【可编辑区域】来管理了。



另:模板中“精品”、“新品”、“热销”、“特价”等的显示数量只能通过[设置模板]进行设置,不能直接在模板文件(dwt)或库文件(lbi)中指定。不过还好的是,关于“精品”、“新品”、“热销”、“特价”等库项目,就算他们不在模板的编辑区也可以进行数量设置,提交时并不重写对应区域的代码[但每次提交的时候一定要勾选“显示”,是每次提交都要重新勾选]。究竟显示多少个,这个值的读取比较复杂,另文分析。[当然如果一定要在库文件中指定也可以,就是修改lib_template.php中的对应的显示数量,使默认显示数量足够大,然后库项目中设置循环读取的数量(只能少于等于lib_template.php的设置)]

ecshop 模板与库文件lbi的更多相关文章

  1. STM32新建模板之库文件

    一.新建项目文件夹 在桌面创建项目文件夹,用于存放工程,命名为"stm32f10x_project" 在项目文件夹中创建3个文件夹,分别命名为:CMSIS.OUTPUT.STM32 ...

  2. ECSHOP模板文件说明

    最新ECSHOP 2.7.3完整的一套ECSHOP模板有一下构造 • 35个 .dwt文件(模板框架文件.可调用lbi库文件的主体文件) • 57个 .lbi文件(模板库文件,可通过后台库项目管理直接 ...

  3. ecshop模板修改后还原的原因

    转:http://www.ecmoban.com/article-1693.html 有些刚接触 ecshop的朋友会遇到这样的问题:今天刚修改好的一个地方,等过一段时间后台操作了一会之后发现修改过的 ...

  4. ecshop模板如何修改详细图解

    ecshop模板如何修改?很多人在问这个问题,今天就以图解的方式给大家详细说下.相信学完之后,你会很清楚如何修改ecshop模板,不管你是初学者还是程序高手. 1, ecshop的模板结构 ecsho ...

  5. 修改ecshop模板体会

    在上一篇中给大家带来了ecshop的总体的框架.从总体上看ecshop,相信大家的思路应该很清楚.作为一个对开源项目修改者你来说,能对ecshop有个初步的了解就行了,下面我会给大家带来我在修改ecs ...

  6. ecshop 模板开发总结

    ecshop 模板开发总结 模板标签 1.{$articleTitle|escape:"html"} 描述:用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码 ...

  7. ectouch第七讲 之ECshop模板机制整理

    网上的资源感觉还是有些用,可以看看,帮助理解,ECshop模板机制整理原文:http://blog.sina.com.cn/s/blog_6900af430100nkn8.html 一.模板引擎: E ...

  8. ecshop的smarty库还原成smarty原生库方法

    写过ecshop模板的人都晓得,他们是用所谓的dwt的文件来嵌套lbi文件进行模板的彼此调用.在咱们调取数据的时分,ecshop的默许模板只提供给咱们几个简略的句子进行调用,那么有没有办法能够把这个精 ...

  9. ecshop中index.dwt文件分析

    对于ecshop新手来说,这篇总结值得关注. 对于没有web编程基础的同学来说,ecshop模板里面有两个文件特别重要, 但是这两个文件同时也很不好理解,分别是index.dwt和style.css. ...

随机推荐

  1. linq 多条件查询 where 拼接+分页

    首先定义一个静态类 public static class QueryAssembly { /// <summary> /// 返回true /// </summary> // ...

  2. jQuery $.each的使用方法

    通过jQuery $.each,你可以遍历对象.数组的属性值并进行处理. 使用说明 each函数根据参数的类型实现的效果不完全一致: 1.遍历对象(有附加参数) $.each(Object, func ...

  3. Codevs 1066 引水入城 2010年NOIP全国联赛提高组

    1066 引水入城 2010年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 传送门 题目描述 Description 在一个遥远的国度 ...

  4. ajax跨域访问 webservice

    前端代码 $.ajax({ type: "POST", url: "http://localhost:9767/WebService1.asmx/HelloWorld?j ...

  5. CSS禁止Chrome谷歌浏览器激活输入框后自动添加橘黄色边框

    Chrome默认会为所有的输入框加上橘黄色的边框,虽然有时候可以使我们的网站看起来更友好,但对自定义的样式是有影响的.当鼠标点击输入框时,在谷歌chrome浏览器中,光标移到输入框时激活输入框会被加上 ...

  6. 一个小程序[Socrates]中学到的Perl点滴

    1. 抓取网页源文件,只要三行代码 use LWP::Simple; $url='http://music.baidu.com/top/dayhot'; $page=get($url) or die ...

  7. javascript进阶——测试和打包分发

    建立一个面向对象的好的代码基础后,为了达到代码重用的目的,通过调试使用适当的测试用例进行测试尤为必要,之后就是打包分发的主题. 一.调试与测试 1.调试 Firebug:包含了错误控制台.调试器.DO ...

  8. networkRequest

    void TPHttp::applyResource(){    QJsonObject json;    json.insert("ProductCode","MoVd ...

  9. c# 之 New新知

    本人从事.NET工作已经一段时间,毕业之前一直想着做C++的,后来因为各种原因(跟学校导师相关),走向了.NET之路,从而时不时补一下.net的基础知识,因为自己的.NET知识还不是很扎实.近期每天早 ...

  10. SQL(笔试题)网站上的广告位是轮播的,每天某一广告位最多可轮播的广告数量是有限制的,比如A广告位,每天只能轮播三个广告,但销售人员在销售广告位时并不考虑此限制,要求查询出合同表中,超过广告位轮播数量的合同。

    合同表 Orders OrderID Positioncode Startdate Enddate 1 A 2006-11-01 2006-11-03 2 C 2006-11-02 2006-11-0 ...