[原创]ecshop分析(3)浅谈Adobe模板

2009-03-25 20:58 | 分类:ecshop, 原创 | 标签:, , , | 作者:Tommy | 843 views

大家好,今天我们来解决上次遗留下的问题。上次我们谈到了如何从php脚本中往dwt模板中传参数,同时我们留下了两个问题,第一是dwt中有的地方是不可以编辑的;第二是往dwt中传参数并且让它显示,它不一定显示出来。

首先我们来讨论一下第一个问题——为什么有的地方不可以编辑。我们通过讨论index.dwt来分析一下这个问题的原因。在index.dwt中我们会看到好多形如

<!– TemplateBeginEditable name=”左边区域” –>

<!– TemplateEndEditable –>

这样的语句。如果对ecshop的后台的管理有点了解的朋友们对“左边区域”这几个字应该很熟悉吧!不错,在后台的模板管理->设置模板中你会看到如下的图片

clip_image002[4]

从表面上看,大家都应该知道,比如“商品分类树”是在整个页面的中间区域显示。那么为什么在后台这边重新选择一下并且确定,在页面显示就会按照你的选择来显示呢了?它的实质是这样的,上面每个模块是对应一个库文件(就是theme下library下的lbi文件),当你把上面的这些按照你的布局设置好后点击确定,程序就会按照你的布局的选择将每个lbi文件的内容写入到index.dwt中,那么lbi文件中的内容往哪里写呢,这个时候上面的

<!– TemplateBeginEditable name=”左边区域” –>

<!– TemplateEndEditable –>

这句话就起到作用了,比如上面“销售排行”是选择的右边区域,那么当你确定以后,程序会对index.dwt重写一边,其中“销售排行”对应的lbi(就是top10.lbi)中的内容会被完全的读取并且写到index.dwt中<!– TemplateBeginEditable name=”左边区域” –>和<!– TemplateEndEditable –>之间。那么这个时候大家可能有一个疑问,如果有很多的内容要往右边区域写,那哪个先写呢?上面的图中有个“序号”,这个就是决定写的顺序的。下面是写之后index.dwt文件中<!– TemplateBeginEditable name=”左边区域” –>和<!– TemplateEndEditable –>之间的一段代码:

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

<div class="box">
 <div class="box_2">
  <div class="top10Tit"></div>
  <div class="top10List">
   <ul>
    <!-- {foreach name=top_goods from=$top_goods item=goods}-->
    <li><img src="../images/top_{$smarty.foreach.top_goods.iteration}.gif"> <a title="{$goods.name|escape:html}" href="{$goods.url}">{$goods.short_name}</a>
    <!--{/foreach}-->
   </li></ul>
  </div>
 </div>
</div>
<div class="blank5"></div>
 
 <!-- #EndLibraryItem -->

好的,到了这里相信大家应该清楚很多了,那么到底是为什么index.dwt中有些的地方是不可以编辑的。大家想一想上面这段代码是从哪边而来的,对的,是从top10.lbi中读取出来的,然后写到这里的,如果你编辑这里,然后下次再重新布局后,这边的内容不是要被重写掉了嘛!所以在index.dwt中类似<!– #BeginLibraryItem “/library/top10.lbi” –>和<!– #EndLibraryItem –>之间的内容是动态生成的,是不可编辑的,如果真的想编辑这边的内容,就就编辑对应的lbi文件。

相信大家已经清楚,为什么dwt文件中部分地方是不可编辑的。那么今天就和大家谈到这里,下次我们来研究一下cache的问题。我感觉这个很是头疼(如果你自己添加了session)。

  1. 4条评论 关于 “[原创]ecshop分析(3)浅谈Adobe模板”

  2. neko枫 发表于2009-03-30

    很详细。
    希望能看到更多的ecshop分析。

  3. eric 发表于2009-05-08

    谢谢分享。。。。

  4. cqc1008 发表于2009-06-16

    谢谢楼主,期待中…

  5. 小漆 发表于2009-08-22

    首先谢了,收藏了,需要大量这方面的资料,辛苦了!初学者心生!

发表您的评论

您的名字:

您的邮箱: (*不会被公布

您的网站: