zoukankan      html  css  js  c++  java
  • 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();
      
    

      

  • 相关阅读:
    2020软件工程作业04
    2020软件工程作业03
    一个我一定会完成的web学习项目
    2020软件工程作业02
    2020软件工程作业01
    423团队选题报告
    计算与软件工程作业五
    计算与软件工程第四次作业
    计算与软件工程第三次作业
    计算与软件工程作业二
  • 原文地址:https://www.cnblogs.com/yeyublog/p/7368140.html
Copyright © 2011-2022 走看看