您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程

ecshop模板原理分析

代云2025-01-21Ecshop商城教程已有人查阅

导读类似Smarty/ECShop这类模板的原理。1.首先是编译模板ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是

类似Smarty/ECShop这类模板的原理。
1.首先是编译模板
ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是
将分隔符{}替换成PHP的标准分隔符<?PHP ?>。
将$var替换成 echo $var; 或者print $var;
将其他的比如foreach和if等也替换成标准的PHP语法。
将{include file…}之类的则替换成标准的PHP的inlcude …
其余都是等效替换。
2.其次是生成编译结果
编译结果是PHP文件,并且编译结果可以重用,所以这种文件会存到临时缓存目录里面。
3.利用PHP引擎执行结果
输出HTML结果。
ECShop模板的原理
ECShop的模板原理和上面基本类似,就是在编译的时候和Smarty模板有所修改,比较重要的有一下几点:
1. 模板的执行流程
$smarty->display
$smarty->fetch 返回HTML结果(所有模板)
$smarty->fetch_str (先编译成PHP、在给变量赋值、计算结果)
1) $smarty->smarty_prefilter_preCompile (编译成PHP)
2) $smarty->select (计 算每一个变量、表达式的结果,替换成标准PHP语法)
这一步是通过正则实现的,匹配每一个{},将结果传给 $smarty->select,改方法通过switch/case逐一分析,替换成对应的表达式。
【所以添加自定义标签、自定义表达式可以修改此处。】
3) $smarty->get_para $smarty->select通过调用get_para来实现获取具体变量的值。
4) $smarty->get_val 而$smarty->get_para通过get_val来计算最终变量的值。
【自定义函数在此处添加,注意自定义函数和自定 义标签的区别】
$smarty->_eval 替换成标准的PHP文件后通过eval来执行结果。
2. Lbi文件替换
在dwt文件中,类似<!-- #BeginLibraryItem "/library/xxx.lbi" --><!-- #EndLibraryItem -->这样代码中间的所有的代码 被替换成一个 {include file /library/xx.lbi}
3. Editable的region替换
在dwt文件中,类似
<!-- TemplateBeginEditable name="左边区域" --><!-- TemplateEndEditable -->中间的内容,都被 动态替换。
替换原理
首先是get_dyna_libs($theme, $tmp)函数得到当前theme下$tmp文件的所有动态区域,该函数读取数据库中的记录,按照后台设置的顺序排序。
返回的每个区块有三个参数,ID、Number、Type。
ID是标识,Number表示插入的个数,Type有1、2、3、4,分别代表:分类的商品、品牌的商品、文章列表、广告位。
然后把每个<!-- TemplateBeginEditable name="区域名称" --><!-- TemplateEndEditable -->里面的内容全部替换。
4. 自定义函数等
如上面所说,想增加自定义函数必须修改cls_template中的get_val方法(可以继承),添加一些模板的自定义标签,需要修改cls_template 中的select方法,比如ECShop中自定义的insert、insert_script等函数就在此处。

本文标签:

很赞哦! ()

相关源码

  • (PC+手机)帝国cms7.5漫画图片连载网站源码免费下载本模板基于帝国CMS7.5深度开发,为漫画阅读类网站打造。整体设计风格贴合漫画行业特性,界面布局充分考虑漫画作品的展示需求,支持多种漫画阅读模式。模板采用响应式设计,能够自动适配PC端和移动端设备,为读者提供流畅的阅读体验。查看源码
  • (自适应)光伏测试仪器电站运维设备网站源码免费下载本模板为光伏检测设备与电站运维服务企业设计,采用PbootCMS内核开发,具备完整的设备展示、技术文档管理及客户服务功能模块。通过自适应结构与SEO优化框架,有效提升企业在移动端和搜索引擎中的专业形象。查看源码
  • 帝国cms7.2淘宝客导购自媒体博客网站模板源码本模板基于帝国CMS7.2内核深度开发,为淘宝客、商品导购类自媒体及博客网站设计。通过可视化后台管理,可快速搭建具备商品推荐、比价功能的内容平台,帮助用户实现流量高效转化。查看源码
  • (自适应响应式)WORDwps办公资源教程资讯网站模板下载基于PbootCMS内核开发的响应式网站模板,为办公教程、WPS技巧分享、职场技能培训等场景打造。模板内置标准化文档分类体系,支持图文/视频教程混合展示,满足现代办公知识传播需求。查看源码
  • (自适应)蓝色建材亚克力板材装饰材料pbootcms网站模板这款基于PbootCMS开发的响应式模板为建材板材行业优化设计,适用于亚克力板材、建筑装饰材料等企业展示需求。采用HTML5技术实现手机/PC跨终端适配,管理员通过统一后台即可同步查看源码
  • (PC+WAP)餐饮奶茶美食小吃招商加盟pbootcms模板源码下载为茶饮烘焙、小吃快餐等餐饮品牌打造的招商加盟系统,助力品牌快速拓展市场;双端pc+wap设计呈现加盟政策对比表。支持后台实时更新菜品图片、加盟费用等关键信息。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐