zoukankan      html  css  js  c++  java
  • ecshop 结构

    一、 文件夹功能说明
    1 、根目录:前台程序文件
    2 、admin :后台程序文件夹
    – 根目录:后台程序文件 *.php 文件
    –help/zh_cn :各功能的帮助文件 *.xml 文件
    –images :后台页面用图片
    –includes :后台公用文件和函数
    –js :后台用js 脚本
    –styles :后台用样式表
    –templates :后台页面模板 *.htm 文件
    3 、api :调用API 的系统公用函数
    4 、cert :存放证书的文件夹
    5 、data :数据连接设置等,包括各种广告的上传图片等
    –afficheimg :首页flash 广告图片
    –brandlogo :品牌logo 
    6 、images :上传商品图片文件夹,按日期分目录
    –200902 :按月份划分商品图片
    –upload :上传文件夹,包括file 、flash 、image 和media 

    7 、includes :前台公用文件和函数
    –codetable :语言对应的代码表
    –fckeditor :开源html 文本编辑器
    –modules/convert :shopex 转换文件
    –modules/cron :如自动上下架、ip 删除等函数
    –modules/integrates :整合各种插件和函数基础类
    –modules/payment :各种支付接口插件
    –modules/shipping :各种送货方式插件
    8 、install :系统安装文件夹,用后请删除
    9 、js :前台用js 脚本
    –calendar :日历控件
    10 、languages :语言文件
    –zh_cn :简体中文语言文件,存储简体中文下使用的函数变量等
    –zh_tw :繁体中文语言文件,存储繁体中文下使用的函数变量等
    11 、temp :存放临时缓存等文件
    12 、themes :模板文件夹,可以随意拷贝模板样式
    13 、wap :手机浏览程序
    –includes ;公用文件和函数
    –templates :页面模板 *.wml 文件
    14 、widget :搜狐博客小插件

    二.结构

    1. 根目录下的php 文件都为controller ,接收页面请求地址。

       都会define(‘IN_ECS’, true) 和包含init.php 文件

       在模块中会根据IN_ECS 是否定义来判断进入是否正常。

       Init.php 为初始化系统环境

    2. init.php 初始化环境

    /* 初始化设置 */

    @ini_set( 'memory_limit' ,           '64M' );

    @ini_set( 'session.cache_expire' ,  180);

    @ini_set( 'session.use_trans_sid' , 0);

    @ini_set( 'session.use_cookies' ,   1);

    @ini_set( 'session.auto_start' ,    0);

    @ini_set( 'display_errors' ,        1);

    /* 数据链接配置 */

    require(ROOT_PATH . 'data/config.php');

    DEBUG MODE

    0

    disabled debug

    1

    output error message

    2

    disabled caching

    4

    showing debug page

    8

    logging  SQL  query

    if (defined( 'DEBUG_MODE' ) == false )

    {

        define( 'DEBUG_MODE' , 0);

    }

    引入库文件

    require(ROOT_PATH . 'includes/inc_constant.php');  定义常量

    ec 基础类。获得table 名,domain ,url , data_url, image_ur l

    require(ROOT_PATH . 'includes/cls_ecshop.php');

    用户级错误处理类。错误收集,显示(模板,非模板)

    require(ROOT_PATH . 'includes/cls_error.php');

    时间函数

    require(ROOT_PATH . 'includes/lib_time.php');

    基础函数库。获取用户的真实ip 地址,计算字符串长度,获得用户操作系统换行符,发送邮件,文件或目录权限检查函数,检查目标文件夹是否存在,字符转义,检查文件类型,文件上传,将json 传递的参数转码,获取文件后缀名并判断是否合法,读写结果缓存文件。

    require(ROOT_PATH . 'includes/lib_base.php');

    共用函数库。验证邮件是否合法,创建地区的返回信息,获得指定国家的所有省份,获得指定分类下的子分类的数组,过滤和排序所有分类,载入配置信息,取得品牌列表,所有促销活动信息,获取邮件模板。。。。。。

    require(ROOT_PATH . 'includes/lib_common.php');

    前台公用函数库。更新用户SESSION,COOKIE 及登录时间、登录次数,获取用户信息数组,取得当前位置和页面标题,创建分页信息,获得浏览器名称和版本,判断是否为搜索引擎蜘蛛。。。。。

    require(ROOT_PATH . 'includes/lib_main.php');

    动态内容函数库。获得查询次数以及查询时间,调用浏览历史,调用购物车信息,调用指定的广告位的广告,调用会员信息,调用评论信息,调用商品购买记录,调用在线调查信息。

    require(ROOT_PATH . 'includes/lib_insert.php');

    商品相关函数库。

    require(ROOT_PATH . 'includes/lib_goods.php');

    ecshop 文章及文章分类相关函数库

    require(ROOT_PATH . 'includes/lib_article.php');

    /* 创建 ECSHOP 对象 */

    $ecs = new ECS($db_name, $prefix);

    /* 初始化数据库类 */

    require(ROOT_PATH . 'includes/cls_mysql.php');

    $db = new cls_mysql($db_host, $db_user, $db_pass, $db_name);

    /* 创建错误处理对象 */

    $err = new ecs_error('message.dwt');

    /* 载入系统参数。 从数据库中读取出来的*/

    $_CFG = load_config();

    /* 载入语言文件。赋值数组$_LANG[]*/

    require(ROOT_PATH . 'languages/' . $_CFG['lang'] . '/common.php');

    全局变量 $db, $ecs, $err ,在函数中用$GLOBALS 引用

    Session 对象

    if (!defined('INIT_NO_USERS'))

    {

        /* 初始化session */

        include(ROOT_PATH . 'includes/cls_session.php');

        $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'));

        define('SESS_ID', $sess->get_session_id());

    }

    /* 创建 Smarty 对象。*/

    require(ROOT_PATH . 'includes/cls_template.php');

    $smarty = new cls_template;

    ---- Index.php ---------------------------------------------------------------------------------------------------------------

    缓存编号

    $cache_id = sprintf( '%X' , crc32($_SESSION[ 'user_rank' ] . '-' . $_CFG[ 'lang' ]));

     

    if (!$smarty->is_cached( 'index.dwt' , $cache_id))

    {

        // 页头和页尾所需变量赋值

        assign_template();

     

         /*…………………*/

    页面中的动态内容,也就是模板设置中的动态内容。

    动态内容区域为

    <!-- TemplateBeginEditable name=" 美体" -->

    <!-- TemplateEndEditable -->

    标签所在位置。

    即需自定义模板区域需自己添加此标签,在管理后台就可以对指定区域编辑。

     

        assign_dynamic( 'index' );

    }

     

    // 显示并创建缓存

    $smarty->display( 'index.dwt' , $cache_id);  

    作者:沐雪
    文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
    如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
    找一找教程网-随时随地学软件编程 http://www.zyiz.net/

  • 相关阅读:
    三数之和
    罗马数字与整数
    Oracle 开启或关闭归档
    Oracle RMAN scripts to delete archivelog
    Oracle check TBS usage
    Oracle kill locked sessions
    场景9 深入RAC运行原理
    场景7 Data Guard
    场景4 Data Warehouse Management 数据仓库
    场景5 Performance Management
  • 原文地址:https://www.cnblogs.com/puzi0315/p/2643312.html
Copyright © 2011-2022 走看看