ecshop 模板机制
ECShop模板是基于smarty 文件名cls_template.php
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标签,完成模板的输出。
define('IN_ECS',true);
define('EC_CHARSET','utf-8');
define('ROOT_PATH','D:/php/www/ECShop/');
define('DATA_DIR','data');
$db_host="localhost:3306";
$db_name="ecshop";
$db_user="root";
$db_pass="";
require('../includes/cls_mysql.php');
$db=new cls_mysql($db_host,$db_user,$db_pass,$db_name);
//获取所有记录
function test_getAll(){
global $db;
$sql="select user_id,user_name,email from ecs_admin_user";
$result=$db->getAll($sql);
print_r($result);
}
test_getAll();
//获取单条数据
function test_getRow(){
global $db;
$sql="select user_id,user_name,email from ecs_admin_user";
$result=$db->getRow($sql);
print_r($result);
}
test_getRow();
//获取某栏位的所有值
function test_getCol(){
global $db;
$sql="select email from ecs_admin_user";
$result=$db->getCol($sql);
print_r($result);
}
test_getCol();
//获取的单个值
function test_getOne(){
global $db;
$sql="select email from ecs_admin_user where user_id=1";
$result=$db->getOne($sql);
print_r($result);
}
test_getOne();
//执行数据库查询
test_query();
function test_query()
{
global $db;
$sql = "UPDATE ecs_admin_user SET todolist ='我那个' WHERE user_id =1";
$db->query($sql);
$sql = "SELECT todolist FROM ecs_admin_user WHERE user_id = 1";
$result = $db->getOne($sql);
print_r($result);
}
//数据库表操作
function autoExecute1(){
global $db;
$table="ecs_role";
$field_values=array("role_name"=>"总经理办","role_describe"=>"总经理办","action_list"=>"all");
$db->autoExecute($table,$field_values,"INSERT");
$role_id=$db->insert_id();
$field_values=array("action_list"=>"goods_manage");
$db->autoExecute($table,$field_values,"UPDATE","role_id=$role_id");
$sql="select action_list from ecs_role where role_id=$role_id";
$result=$db->getOne($sql);
print_r($result);
}
autoExecute1();
ecshop 模板机制的更多相关文章
- ectouch第七讲 之ECshop模板机制整理
网上的资源感觉还是有些用,可以看看,帮助理解,ECshop模板机制整理原文:http://blog.sina.com.cn/s/blog_6900af430100nkn8.html 一.模板引擎: E ...
- ECshop模板机制
ECshop模板机制整理 模板机制 近期新项目涉及到ECshop的二次开发,趁此良机正好可以对闻名已久的ECshop系统进行深入了解.要了解一个系统,那么该系统的模板机制就是最重要的一环.相关整理如下 ...
- ecshop 模板开发总结
ecshop 模板开发总结 模板标签 1.{$articleTitle|escape:"html"} 描述:用于html转码,url转码,在没有转码的变量上转换单引号,十六进制转码 ...
- 让ecshop模板支持php运算
让ecshop模板支持php运算在 cls_template.php 底部加入函数: /** * 处理if标签 * * @access public * @param string $tag_args ...
- ecshop session机制
ecshop session机制 2014-06-12 1455 懒人程序 ecshop的cls_session.php分析,主要是讲述ecshop中的session机制.我们都知道 ...
- 最新仿梦芭莎免费ecshop模板
最新仿梦芭莎免费ecshop模板,该源码很真实地模仿了我们比较熟悉的梦芭莎购物网站的,我们知道该网站商城很受大家的喜欢的,而且界面也很漂亮的,希望能够帮到大家的学习. <ignore_js_op ...
- ECSHOP模板标签
模板制作修改经常用到ecshop模板标签: 页面关键字 {$keywords }页面标题 {$page_title}产品分类父分类列表 {foreach from=$categories item=c ...
- ECSHOP模板文件说明
最新ECSHOP 2.7.3完整的一套ECSHOP模板有一下构造 • 35个 .dwt文件(模板框架文件.可调用lbi库文件的主体文件) • 57个 .lbi文件(模板库文件,可通过后台库项目管理直接 ...
- ecshop模板修改后还原的原因
转:http://www.ecmoban.com/article-1693.html 有些刚接触 ecshop的朋友会遇到这样的问题:今天刚修改好的一个地方,等过一段时间后台操作了一会之后发现修改过的 ...
随机推荐
- 2.一个简单的c++程序。
每个程序员的Hello World程序 //This is a small c++ program #include <iostream> int main() { std::cout & ...
- SQL 左联接去除左边重复的数据
代码如下: use DB go select table1.*,b.OPTime from [dbo].[table1] left join( select * from (select table2 ...
- javascript总结10:JavaScript的Switch语句
1 switch语句 的作用: switch 语句用于基于不同的条件来执行不同的动作. 每当满足一个变量条件,就会执行当前的case内容. break 关键字用于跳出switch代码块.会终止swit ...
- properties配置文件在idea中默认utf-8编码可能会乱码的解决
使用idea集成开发环境时,有时在properties配置文件有中文,在线上拿到的时乱码,如何解决? 这样设置: 最后说一下,setting设置是对当前项目的,想要所有的项目都有相同的设置,需要在 中 ...
- Django实战之古风博客
感谢 感谢杨青 大大的古风模板,设计的很棒,给个赞. 如有侵权,请联系我 运行环境 python3.6 Django==1.11.4 django-ckeditor==5.4.0 django-js- ...
- 【EfF】 贪婪加载和延迟加载 (virtual去掉关闭延迟加载)
EntityFramework(EF)贪婪加载和延迟加载的选择和使用 贪婪加载:顾名思议就是把所有要加载的东西一 次性读取 1 using (var context = new MyDbContext ...
- lfs原理
- NSURLConnection 网络请求
前言 DEPRECATED: The NSURLConnection class should no longer be used. NSURLSession is the replacement f ...
- 【bzoj3670】: [Noi2014]动物园 字符串-kmp-倍增
[bzoj3670]: [Noi2014]动物园 一开始想的是按照kmp把fail算出来的同时就可以递推求出第i位要f次可以跳到-1 然后把从x=i开始顺着fail走,走到fail[x]*2<i ...
- 泛型2(lambda表达式/参数绑定)
lambda 表达式: Lambda表达式完整的声明格式如下: [capture list] (params list) mutable exception-> return type { fu ...