[转]ecshop分析(4)

上次我们主要讨论了关于模板的问题,最后我们留下了一个问题——cache的问题。我觉得这个问题到目 前位置先不要讨论好,再往后一点我们再来分析这个问题。到现在我们知道了模板的一些操作了,但是我们还是很郁闷,因为我们只是在ecshop的前台框架的 控制之下。那么我们如何能够脱离出来呢?如果我们能做到自己添加属于自己或者可以放自己想要放的东西的模板,那么应该算是到了一个更高的台阶来看 ecshop了。

要做到添加一个模板就必须做到前台可以显示这个模板,后台可以编辑这个模板。下面我们一步一步教大家怎么添加一个属于自己的模板。在添加 之前我们先稍微分析一下,对以一个模板,在前台一定有一个php文件和它对应(很显然这个php文件就是实现给这个模板文件传送数据的)。并且在后台可以 编辑这个模板对于的模块,也就是在模板管理——设置模板中有你加的模板的选项。下面我们来添加一个home模板。首先在根目录下新建home.dwt和 home.php。然后将index.dwt和index.php中的内容分别拷贝到home.dwt和home.php中。对于这个模板的内容完全由你 自己决定,你的内容就会决定你要怎么修改home.dwt和home.php。当然这个模板的内容是受限制的,首先要home这个模板的候选的库文件是存 在的。这个是什么意思呢?这句话的意思就是对于每个模板文件,可以调用的库文件是固定的,并且这些可以调用的库文件在文件admin/includes /lib_templete.php中定义的。首先要在后台将home这个模板放入到可设置内容的模板中,部分代码如下:

 

/* 可以设置内容的模板 */
$template_files = array(
\'home.dwt\',
\'index.dwt\',
\'zhiku.dwt\',
\'article.dwt\',
\'article_cat.dwt\',
\'brand.dwt\',
\'category.dwt\',
\'user_clips.dwt\',
\'compare.dwt\',
\'gallery.dwt\',

在上面的代码中就将home.dwt加入到后台的可编辑模板中,这个时候你就可以在后台的模板管理->设置模板中编辑home模板了。但是到 这里我们发现一个很小的问题,那就是这个home模板在后台是显示成什么名字。其实这个很简单,只要在文件language/zh_cn/admin /template.php中添加$_LANG[\'template_files\'][\'home\'] = ‘home模板’;这样的语句,那么在后台看到的home模板的名称就是“home模板”,当然这里也可以设置成其他的名称。在上面我们有说到每个模板可 以调用的库文件是固定的,既然说是固定的,那应该是哪些呢?就拿index来说吧,在文件admin/includes /lib_templete.php中有下面这样的代码:

\'index\' => array(
\'/library/ur_here.lbi\' => 0,
\'/library/search_form.lbi\' => 0,
\'/library/member.lbi\' => 0,
\'/library/new_articles.lbi\' => 0,
\'/library/success_article.lbi\' => 0,
\'/library/dynamic_article.lbi\' => 0,
\'/library/school_article.lbi\' => 0,
\'/library/category_tree.lbi\' => 0,
\'/library/top10.lbi\' => 0,
\'/library/invoice_query.lbi\' => 0,
\'/library/recommend_best.lbi\' => 3,
\'/library/recommend_new.lbi\' => 3,
\'/library/recommend_hot.lbi\' => 3,
\'/library/recommend_promotion.lbi\' => 4,
\'/library/group_buy.lbi\' => 3,
\'/library/auction.lbi\' => 3,
\'/library/brands.lbi\' => 0,
\'/library/promotion_info.lbi\' => 0,
\'/library/cart.lbi\' => 0,
\'/library/order_query.lbi\' => 0,
\'/library/email_list.lbi\' => 0,
\'/library/vote_list.lbi\' => 0
),

那么这边枚举到的库文件,对于index.dwt都可以调用的。依葫芦画瓢,home.dwt需要调用哪些库文件,那么就对应上面这个写就是了,相 信大家都有这个水平。好的,到目前为止一个模板文件添加成功了,那么它在浏览器中的显示就要通过后台的设置模板来确定了。好的,添加一个自己的模板我就说 到这里,我们下期继续讨论ecshop。Thanks!!!

博客分类: 
You voted 3. Total votes: 1867

添加新评论