ectouch第四讲之 ECshop模板机制整理

网上的资源感觉还是有些用,可以看看,帮助理解,

ECshop模板机制整理

原文:http://blog.sina.com.cn/s/blog_6900af430100nkn8.html

数据处理:

ECshop根目录下及admin目录下的文件是对应前台、后台页面的数据处理页,在这些文件中对页面所要展示的内容进行处理,之后通过smarty的assign()方法注册变量,最后通过display()方法加载相应的模板文件。但这里我们需要注意ECshop单独封装的几个方法,用于处理模板的公共内容及页面中某些动态内容的加载。如lib_main.php中的assign_template()会设置我们的网店的公共信息及网站设置;assign_dynamic()方法则是设置该页面中的动态加载内容。当页面所需的变量设置完成后,进入smarty的display()方法。

解析模板:

首先,在ECshop中有.dwt和.lbi两种格式的模板文件,那么这两种文件之间是什么关系呢?可以这样理解.dwt文件是针对前台每个显示页面的模板“框架”,而.lbi模板中则是对页面中公共“内容”的整理,每个.lbi文件都是页面中的一个模块。二者是怎样关联到一起的呢?在模板文件夹中有一个libs.xml文件,这里则是具体配置每个模板“框架”中可以显示哪些“内容”(具体内容之后谈及模板管理会细说)。

下面查看解析模板的过程,在.dwt文件中根据框架的设计会划分出几个“可编辑区域”,.lbi模板正是加载到“可编辑区域”中进行输出的。那么我们需要注意的是.dwt模板中的几对标签:

①<!-- TemplateBeginEditable name="右边主区域" --><!-- TemplateEndEditable -->这对标签就是“可编辑区域”标签,在这对标签之间输出的内容是可以通过模板管理进行设置的。主要是选择输出不同的.lbi文件。

②<!-- #BeginLibraryItem "/library/page_header.lbi" --><!-- #EndLibraryItem -->这对标签则是对相应的page_header.lbi文件的加载及输出。这个头部的模板每个页面都需要加载,如果我们想更改模板中的头部内容,只要修改page_header.lbi即可,大大提高了效率。

模板文件加载完成之后,即可通过smarty引擎解析smarty标签,完成模板的输出。

\mobile\include\apps\default\controller\CommonController.class.php

/* 页面标题 */
 $page_info = get_page_title();
 self::$view->assign(‘page_title‘, $page_info[‘title‘]);
 self::$view->assign(‘meta_keywords‘, C(‘shop_keywords‘));
 self::$view->assign(‘meta_description‘, C(‘shop_desc‘));
 /* 模板赋值 */
 assign_template();

时间: 2024-10-07 19:41:02

ectouch第四讲之 ECshop模板机制整理的相关文章

ECshop模板机制

ECshop模板机制整理 模板机制 近期新项目涉及到ECshop的二次开发,趁此良机正好可以对闻名已久的ECshop系统进行深入了解.要了解一个系统,那么该系统的模板机制就是最重要的一环.相关整理如下: 一.模板引擎: ECshop给我的第一印象是用的smarty模板引擎,可是很快就发现有些不一样,使用smarty模板引擎的系统通常会至少会包括smarty的核心文件:smarty.class.php.smarty_Compiler.php.config_File.class.php和debug.

ectouch第十讲 之ecshop中 dwt, lbi 文件详解

原文:http://www.yunmoban.cn/article-241.html Ecshop包括的文件夹有admin.api.cert.data.images.includes.js. languages.plugins.temp.theme.wap.widget这些文件夹,和根目录下的所有.php文件.这些文件和文件夹组成了整 个ecshop.如果从软件工程角度分析ecshop的话,ecshop的二级可以看成admin和前台两个部分.admin主要是面向服务端的,而前台 是面向客户端的,

ecshop模板如何修改详细图解

ECSHOP模板修改需要会DIV CSS知识.还有就是DWT,LBI文件的意义,熟记以下一些模板程序有助于修改模板,更多好看的模板也可以看看“ecshop模板堂” 模板文件说明style.css   -  模板所使用样式表activity.dwt  -  活动列表article.dwt   -  文章内容页article_cat.dwt   -  文章列表页article_pro.dwt  -  前一篇文章auction.dwt  -  拍卖商品首页auction_list.dwt  -  拍卖

Flask Web Development - Flask 模板1 - 模板机制&Jinja2引擎

节选自PartI Chapter3,这个chapter主要讲模板工作原理,这里讲的就是Jinja2这个模板,另外还提到了Flask-Bootstrap及Flask-Moment两个插件,前者对Flask使用Bootstrap做了些封装,后者对moment.js做了些封装.内容较多,估计分开搞. 模板存在的意义 可维护性高的代码是结构良好且整洁的. 当用户在网站注册一个账户时,他在表单里填入邮箱跟密码,并点击提交按钮.在server端就收到一个包含这些数据的request,再由Flask分发到相应

Shopex模板机制总览(摘要版)

Shopex模板机制总览(摘要版) 此文档旨在为 shopex 二次开发提供一个便利的参考信息,借以打开 shopex 架构的大门,希望能带给读者一种登堂入室的感觉.由于 shopex 是半开放源代码的形式发布的,而且官方也没有意思要做好文档的公开工作,因此,二次开发中难题较多,这篇文章正是出于答疑解难的观点编写的.如果对诸位有大有裨益,则我会心花怒放:即是小有启发,也是我写作的最大满足:如果不才,读者未可以领略到一丝一息的有用内容,口下留情,适当一批或一评即好.本文要求读者有 PHP.HTML

ecshop模板开发制作教程及常见问题解答

ecshop模板开发制作教程 下列章节的适用于ECshop程序. 同时这里许多内容和一些 Smarty相关. 假如您已经熟悉这些内容可跳过不阅读.假如您是ECshop新手并且想diy一下自己的店铺, 那您应该认真详细地从头到尾读一遍这些章节.( ps: 大家不要紧张,我会尽量用人类的语言和大家交流,实在万不得已才会用机器语言展示给大家 ) 希望大家能够通过本教程,想要什么模板都能自己做出来.哈哈!一起加油吧! 第一章节: 读取这些内容,您将了解: 每个前台页面所对应的模板页面,模板文件的目录结构

《视觉slam十四讲》之第3讲-实践Eigen库

<视觉slam十四讲>之第3讲-实践Eigen库 Eigen库的安装 sudo apt-get install libeigen3-dev 注:Eigen是一个由纯头文件搭建的线性代数库,头文件安装路径为/usr/include/eigen3/. 实例1:Eigen的基础运算 #include <iostream> #include <ctime> #include <Eigen/Core> // Eigen 部分 #include <Eigen/De

C++11程序设计要点总结-模板机制详解

C++程序设计要点总结 在编程的过程中呢我们总会遇到一些各种各样的问题,就比如在写方法的时候,我们一个同样的方法要写好几种类型的呢,这让我们很伤脑筋,但是呢C++有一个强大的功能就是模板机制,这个模板机制就可以让我们少写很多同样的代码,那么什么是模板呢,.我们举一个小例子吧!比如我们要去写交换函数,那么我们正常的写法是 1 void swap(int&a,int&b) 2 { 3 int temp=a; 4 a=b; 5 b=temp; 6 } 这样写大家都可以看懂,但是却有一个问题,我们

视觉SLAM十四讲随笔

**************************************************************************************************************************************************ch1:clion的使用 断点设置之后,逐行执行 (Step Into) ( F7 ),逐函数执行 (Step Over) ( F8 ),注意0和O在clion中的显示区别,0是中间有个点的 O看起来像0,中