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();