一、
文件夹功能说明
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);
406

被折叠的 条评论
为什么被折叠?



