转:

管理中心的“设置模板”其实就是把特定的【库项目】添加到模板中的【可编辑区域】,或从【可编辑区域】中删除/修改某些【库项目】,后台的“设置模板”只能对添加特定的【库项目】,哪个模板可以添加什么库文件是由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. Linux搭建SSH服务器

    Linux 远程登录服务:ssh ·SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Te ...

  2. ZeroMemory

    ZeroMemory: 用0填充一个内存块 void ZeroMemory( [in] PVOID Destination, //内存块开始地址 [in] SIZE_T Length //填充块大小 ...

  3. Cell的重用机制

    static NSString *resuseId=@"cell"; UITableViewCell *cell=[tableView dequeueReusableCellWit ...

  4. SSH中调用另一action的方法(chain,redirect)

      从一个Action直接跳到另一个Action中,Struts提供了两种结果类型可以实现:chain.redirect.        从Servlet中学到重定向是不能保留参数的,也就是说重定向了 ...

  5. ScrollView 尽量避免嵌套RelativeLayout,非常惨痛的教训

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android=&q ...

  6. mysql 查找包含特定名字的表

    SELECT distinct TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE '%medias%'

  7. [CUDA] ubuntu14.04+cuda7.5下安装cudnn7.0

    cuda:7.5 cudnn:cudnn-7.0-linux-x64-v4.0-prod.tgz cudnn样例:cuDNN v4 Code Samples 1. 解压 tar -zxvf cudnn ...

  8. 关于C# Winform 程序开机自动启动

    1.程序运行时调用下面方法即可. /// <summary> /// 设置开机自动启用 /// </summary> private void SetAutoStart() { ...

  9. c语言位运算符

    C语言既具有高级语言的特点,又具有低级语言的功能. 所谓位运算是指进行二进制位的运算. C语言提供的位运算: 运算符   含义  &   按位与  |   按位或  ∧   按位异或  ∽   ...

  10. REST API之前端跨域访问

    关键字:跨域访问,cross-origin, NodeJS, REST API, JavaScript, Access-Control-Allow-Origin 1.新建并运行一个 NodeJS的se ...