您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop模板原理介绍
张枫震2025-01-10Ecshop商城教程已有人查阅
导读首先是编译模板 ECShop/Smart是利用PHP引擎,所以编译的结果是一个PHP文件,其编译过程就是将分隔符{}替换成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. 模板的执行流程
3)$smarty->get_para $smarty->select通过调用get_para来实现获取具体变量的值。
4)$smarty->get_val 而$smarty->get_para通过get_val来计算最终变量的值。 【自定义函数在此处添加,注意自定义函数和自定 义标签的区别】
$smarty->_eval 替换成标准的PHP文件后通过eval来执行结果。
2. Lbi文件替换 在dwt文件中,类似
3. Editable的region替换 在dwt文件中,类似
替换原理 首先是get_dyna_libs($theme, $tmp)函数得到当前theme下$tmp文件的所有动态区域,该函数读取数据库中的记录,按照后台设置的顺序排序。 返回的每个区块有三个参数,ID、Number、Type。 ID是标识,Number表示插入的个数,Type有1、2、3、4,分别代表:分类的商品、品牌的商品、文章列表、广告位。
然后把每个
4. 自定义函数等 如上面所说,想增加自定义函数必须修改cls_template中的get_val方法(可以继承),添加一些模板的自定义标签,需要修改cls_template 中的select方法,比如ECShop中自定义的insert、insert_script等函数就在此处。
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等函数就在此处。
本文标签:
很赞哦! ()
相关教程
图文教程
ecshop关联商品超过50个的修改方法
在ecshop中 的商品详情里,增加关联商品时,最多只能关联50个,那么应该如何解除这个限制呢,其实很简单打开 admin/includes/lib_main.php找到
ecshop的info: Can't Connect MySQL Server(localhost:3306)报错解决
很多人新人在搬家过程,打开ecshop网站会出现以下ECSHOP info: Can't Connect MySQL Server(localhost:3306)
ecshop商品分类列表页推荐排序按销量排序方式
STEP1:在表ecs_goods添加字段:salesnumSTEP2:打开根目录下文件:flow.php找到下面的代码:/* 插入订单商品 */$s
ecshop文章内容描述字体怎么实现大小左右对齐
ecshop文章内容字体不能左右对齐,在编辑器编辑了还是不能对齐只能控制CSS来达到目的了:
相关源码
-
(PC+WAP)绿色环保设备环保企业网站模板源码下载基于PbootCMS内核开发的响应式企业模板,为环保设备制造、环境技术服务等企业打造,通过模块化设计实现多行业快速适配。查看源码 -
(自适应)物流运输快递仓储货运网站模板免费下载基于PbootCMS内核开发的物流运输行业专用模板,深度适配仓储货运企业的业务展示需求。前端采用响应式布局,自动适配手机端访问,后台数据实时同步更新,帮助企业高效展示运输网络、仓储设施、服务流程等核心业务模块。查看源码 -
(自适应响应式)高端家用办公家具家居桌椅pbootcms模板下载为办公家具企业设计的响应式网站模板,涵盖产品展示、案例呈现、企业介绍等核心模块。通过可视化后台可快速发布实木桌椅、系统家具、办公屏风等产品信息,帮助客户直观了解材质参数与空间搭配方案。查看源码 -
(PC+WAP)化工材料企业环保能源绿色营销型pbootcms模板源码下载本模板为化工材料及环保能源企业设计,采用PbootCMS开发,可展示各类化工产品、环保技术及能源解决方案。查看源码 -
自适应手机版五金机械阀门设备通用行业网站模板该PbootCMS内核开发的网站模板适用于阀门设备、五金机械类企业,通过更换文字图片也可快速适配其他工业领域。采用响应式设计,确保PC端与手机端数据同步,操作便捷,并附带测试数据。查看源码 -
(PC+WAP)茶叶茶艺茶道茶文化pbootcms模网站源码下载本模板基于PbootCMS系统开发,为茶叶企业、茶艺培训机构设计,特别适合展示茶产品、茶道文化等内容。采用响应式技术,确保在不同设备上都能呈现优雅的茶文化氛围。查看源码
| 分享笔记 (共有 篇笔记) |
