ecshop 结构

简介: 一、 文件夹功能说明1 、根目录:前台程序文件2 、admin :后台程序文件夹– 根目录:后台程序文件 *.php 文件–help/zh_cn :各功能的帮助文件 *.xml 文件–images :后台页面用图片–includes :后台公用文件和函数–js :后台用js 脚本–styles :后台用样式表–templates :后台页面模板 *.

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

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
NoSQL JavaScript 前端开发
如何使用 Node.js 连接和操作 MongoDB 数据库?
如何使用 Node.js 连接和操作 MongoDB 数据库?
1092 2
|
传感器 网络协议 Linux
在Linux中使用libmodbus库进行Modbus TCP通信
Modbus TCP是一种常见的工业通信协议,用于在自动化系统中传输数据。libmodbus是一个流行的C库,用于在Linux系统上实现Modbus TCP通信。本文将介绍如何使用libmodbus库在Linux上创建Modbus TCP通信的示例代码。
4733 0
|
Ubuntu Linux
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
7938 0
Linux:查看服务器信息,CPU、内存、系统版本、内核版本等
|
10月前
|
人工智能 JavaScript 前端开发
Godot-创建一个3D棋盘
本教程介绍使用C#在Godot引擎中创建3D棋盘游戏。内容包括:下载Godot .NET版本、创建主场景和单元格场景、设置相机与碰撞检测、添加3D模型及材质,并通过C#脚本实现8x8黑白棋盘。附带完整代码示例和运行效果展示,适合初学者入门Godot 3D开发。
417 0
|
存储 人工智能 监控
大牛直播SDK在四足机器人和无人机巡检中的创新应用方案
在工业4.0和智能化浪潮下,传统巡检方式正经历深刻变革。四足机器人与无人机凭借灵活机动性和高效巡检能力崭露头角,而大牛直播SDK则赋予其实时直播与智能互动功能。本文介绍大牛直播SDK的核心优势、在四足机器人和无人机巡检中的应用方案,以及技术实现要点和未来展望,展示智能巡检的广阔前景。
442 6
WK
|
开发者 Python
Python 设计规范
Python的设计规范覆盖了代码布局、命名、注释、函数编写及模块化设计等多个方面,旨在提升代码的可读性与维护性。其中包括缩进、行宽、空行等布局要求;变量、函数、类等命名规则;单行与多行注释说明;函数长度与职责划分;模块的单一职责、开放封闭与依赖倒置原则;避免硬编码并使用有意义的命名;以及遵循PEP 8官方编码标准,以确保代码风格的一致性。遵循这些规范能帮助开发者编写更高质量且易于维护的Python代码。
WK
944 2
|
存储 人工智能 JSON
传统OCR集体阵亡!Versatile-OCR-Program:开源多语言OCR工具,精准解析表格和数学公式等复杂结构
本文解析开源OCR工具Versatile-OCR-Program的技术实现,其基于多模态融合架构实现90%以上识别准确率,支持数学公式与图表的结构化输出,为教育资料数字化提供高效解决方案。
1431 5
传统OCR集体阵亡!Versatile-OCR-Program:开源多语言OCR工具,精准解析表格和数学公式等复杂结构
|
Kubernetes 持续交付 数据库
阿里云ACK+GitLab企业级部署实战教程
GitLab 是一个功能强大的基于 Web 的 DevOps 生命周期平台,整合了源代码管理、持续集成/持续部署(CI/CD)、项目管理等多种工具。其一体化设计使得开发团队能够在同一平台上进行代码协作、自动化构建与部署及全面的项目监控,极大提升了开发效率和项目透明度。 GitLab 的优势在于其作为一体化平台减少了工具切换,高度可定制以满足不同项目需求,并拥有活跃的开源社区和企业级功能,如高级权限管理和专业的技术支持。借助这些优势,GitLab 成为许多开发团队首选的 DevOps 工具,实现从代码编写到生产部署的全流程自动化和优化。
|
安全 Linux 网络安全
车载操作系统信息安全架构
本次分享的主题是车载操作系统信息安全架构,由中兴通讯操作系统产品部张兵分享。主要分为以下四个部分: 1. 背景 2. 现状 3. 实践 4. 展望
600 1

热门文章

最新文章