系统结构
以下文档均以最新的shopex 4.8.5 为准。
程序为mvc 3层结构。模型-视图-控制器。
- 模型是前后台公用。完成业务逻辑,所有的数据库操作,文件等资源调用,都由此层实现。
- 控制器则是前后台独立。负责业务模型的调用,拼接,变量的转换等等。
- 视图层采用类似smarty的实现。
在任何时候都有一个全局变量$system指向唯一的一个内核类:core/kernel.php
结构图
公共类图
公共函数库位于/core/func_ext.php,它在内核加载时首先被加载,对全系统有效。其中包含若干php5函数的php4模拟版本:
- file_put_contents
- json_encode
- json_decode
- ftp_chmod
- array_diff_key
- http_build_query
这是一个结构图这里是前台的控制器,视图文件这里是后台的控制器,视图文件这里是后台的smarty插件文件这里是前后台公用的smarty插件文件
我们的逻辑是这样的。
控制器负责所有的变量的转换,包括对外界的变量转换。像胶水一样粘合各个业务model,并在其中的数据交互过程中做一些数据转换过程。最终将变量抛到模板层。模板层负责编译成html输出,这里我们创建了大量的smarty插件来减少开发者的重复工作量。
model层负责所有的资源操作,包括数据库和文件系统以及读取网络等等。
业务模型层下面是schema,这些是对数据库表结构的最底层的描述。
我们将从底向上的介绍这些层次
setting (条目/用途/备注) |
||
coupon.mc.use_times | 优惠券可用次数 | - |
security.guest.enabled | 是否支持非会员购物 | - |
site.version | version的最后修改时间 | - |
site.dateFormat | 商店日期格式 | - |
site.timeFormat | 商店日期时间格式 | - |
site.coupon_order_limit | 每张订单可用优惠券数量 | - |
site.decimal_digit | 订单金额取整位数 | - |
site.decimal_type | 订单金额取整方式 | - |
site.delivery_time | 默认备货时间 | - |
site.show_mark_price | 前台是否显示市场价 | - |
site.login_valide | 会员登录需输入验证码 | - |
site.login_type | 顾客登录方式 | - |
site.register_valide | 会员注册需输入验证码 | - |
site.buy.target | 顾客点击商品购买按钮后 | - |
site.market_price | 商品页是否显示市场价 | - |
site.market_rate | 请输入比例值或增额值 | - |
site.save_price | 商品页是否显示节省金额 | - |
site.retail_member_price_display | 零售会员价显示设定 | - |
site.wholesale_member_price_display | 批发会员价显示设定 | - |
site.meta_desc | META_DESCRIPTION | - |
site.meta_key_words | META_KEYWORDS | - |
site.order_storage | 库存扣除方式 | - |
site.offline_pay | 支持线下支付方式 | - |
site.shopex_certify | ShopEx Store 认证显示 | - |
site.tax_ratio | 税率 | - |
site.trigger_tax | 是否设置含税价格 | - |
site.copyright | 版权信息 | - |
site.logo | 商店Logo | - |
site.certtext | 备案号 | - |
site.cert | 备案证书 | - |
site.thumbnail_pic_height | 缩略图高度 | - |
site.thumbnail_pic_width | 缩略图宽度 | - |
site.homepage_title | TITLE(首页标题) | - |
site.homepage_meta_key_words | META_KEYWORDS | - |
site.homepage_meta_desc | META_DESCRIPTION | - |
site.goods_title | TITLE(首页标题) | - |
site.goods_meta_key_words | META_KEYWORDS | - |
site.goods_meta_desc | META_DESCRIPTION | - |
site.list_title | TITLE(首页标题) | - |
site.list_meta_key_words | META_KEYWORDS | - |
site.list_meta_desc | META_DESCRIPTION | - |
site.brand_index_title | TITLE(首页标题) | - |
site.brand_index_meta_key_words | META_KEYWORDS | - |
site.brand_index_meta_desc | META_DESCRIPTION | - |
site.brand_list_title | TITLE(首页标题) | - |
site.brand_list_meta_key_words | META_KEYWORDS | - |
site.brand_list_meta_desc | META_DESCRIPTION | - |
site.article_list_title | TITLE(首页标题) | - |
site.article_list_meta_key_words | META_KEYWORDS | - |
site.article_list_meta_desc | META_DESCRIPTION | - |
site.article_title | TITLE(首页标题) | - |
site.article_meta_key_words | META_KEYWORDS | - |
site.article_meta_desc | META_DESCRIPTION | - |
system.admin_verycode | 管理员后台登陆启用验证码 | - |
store.address | 联系地址 | - |
store.company_name | 网站所有人 | - |
store.contact | 联系人 | - |
store.email | 电子邮件 | - |
store.mobile_phone | 手机 | - |
store.shop_url | 商店网址 | - |
store.telephone | 固定电话 | - |
store.zip_code | 邮政编码 | - |
system.money.operation.decimals | 前台价格精确到 | - |
system.money.decimals | 订单金额显示位数 | - |
system.money.operation.carryset | 价格进位方式 | - |
system.category.showgoods | 商品分类列表页显示设置 | - |
system.product.alert.num | 商品库存报警数量 | - |
system.shopname | 商店名称 | - |
system.seo.emuStatic | 商店页面启用伪静态URL | - |
system.seo.noindex_catalog | 通知搜索引擎不索引目录页 | - |
system.ui.webslice | 支持ie8的webslice特性 | - |
system.timezone.default | 用户默认时区 | - |
site.index_title | TITLE(首页标题) | - |
site.title_format | 网站标题格式 | - |
site.stripHtml | 是否压缩html | - |
site.url.base | 主站访问地址 | - |
site.url.themeres | 模板资源访问地址 | - |
site.url.widgetsres | 版块资源访问地址 | - |
goods.rate_nums | 相关商品最大数量 | - |
gallery.default_view | 商品列表默认展示方式 | - |
system.fast_delivery_as_progress | 后台手工发货为"已发货" | - |
system.auto_delivery | 用户到款则自动发货 | - |
system.auto_delivery_physical | 用户到款自动发货时,实体商品如何处理(auto:发货为ready,no:不发货,yes:发货为progress) | - |
system.auto_use_advance | 自动使用预存款 | - |
search.show.range | 搜索是否显示价格区间 | - |
order.flow.payed | 订单付款流程 | - |
order.flow.consign | 订单发货流程 | - |
order.flow.refund | 订单退款流程 | - |
order.flow.reship | 订单退货流程 | - |
certificate.id | ShopEx证书编号 | - |
certificate.token | ShopEx证书密钥 | - |
certificate.str | ShopEx证书身份说明 | - |
certificate.formal | ShopEx证书身份 | - |
certificate.kft.cid | 客服通公司id | - |
certificate.kft.style | 客服通风格号 | - |
certificate.kft.action | 客服通动作 | - |
certificate.kft.enable | 客服通开关 | - |
certificate.channel.url | 渠道url | - |
certificate.channel.name | 渠道商名 | - |
certificate.channel.status | 渠道状态 | - |
certificate.channel.service | 渠道服务类型 | - |
certificate.distribute | 是否开通分销模块 | - |
messenger.sms.config | 短信sms签名 | - |
shopex.wss.username | 合作统计用户名 | - |
shopex.wss.password | 合作统计密码 | - |
shopex.wss.enable | 合作统计开关 | - |
shopex.wss.show | 合作统计前台开关 | - |
shopex.wss.js | 合作统计js | - |
system.area_depth | 地区级数 | - |
comment.index.listnum | 商品首页显示评论条数 | - |
comment.list.listnum | 评论列表页显示评论条数 | - |
comment.switch.ask | 商品询问开关 | - |
comment.switch.discuss | 商品评论开关 | - |
comment.switch.buy | 商品经验评论开关 | - |
comment.display.ask | 商品评论(询问),回复显示 | - |
comment.display.discuss | 商品评论(评论),回复显示 | - |
comment.display.buy | 商品评论(经验),回复显示 | - |
comment.power.ask | 商品评论(询问),发布权限 | - |
comment.power.discuss | 商品评论(评论),发布权限 | - |
comment.power.buy | 商品评论(经验),发布权限 | - |
comment.null_notice.ask | 没有咨询记录,提示文字 | - |
comment.null_notice.discuss | 商品评论(经验),发布权限 | - |
comment.null_notice.buy | 商品评论(经验),发布权限 | - |
comment.submit_display_notice.ask | 没有咨询记录,提示文字 | - |
comment.submit_hidden_notice.ask | 商品评论(经验),发布权限 | - |
comment.submit_display_notice.discuss | 商品评论(经验),发布权限 | - |
comment.submit_hidden_notice.discuss | 没有咨询记录,提示文字 | - |
comment.submit_display_notice.buy | 商品评论(经验),发布权限 | - |
comment.submit_hidden_notice.buy | 商品评论(经验),发布权限 | - |
selllog.display.switch | 是否显示销售记录 | - |
selllog.display.limit | 低于多少条不显示销售记录 | - |
selllog.display.listnum | 显示条数 | - |
goodsbn.display.switch | 是否启用商品编号 | - |
storeplace.display.switch | 是否使用商品货位 | - |
gallery.display.listnum | 搜索列表显示条数 | - |
gallery.display.grid.colnum | 搜索橱窗页显示行数 | - |
plugin.passport.config.current_use | 当前使用的passport | - |
system.message.open | 商店留言发布 | - |
site.refer_timeout | 推荐链接过期时间(天) | - |
site.is_open_return_product | 是否开启退货功能 | - |
spec.image.height | 规格图片宽度 | - |
spec.image.width | 规格图片高度 | - |
spec.default.pic | 规格默认图片 | - |
system.editortype | HTML编辑器设置 | - |
system.upload.limit | 前台图片大小限定 | - |
system.store.time | 库存预占触发时间 | - |
system.guide | 向导设置 | - |
goodsprop.display.switch | 是否启用商品属性链接 | - |
store.site_owner | 商店所有人 | - |
store.mobile | 手机 | - |
store.qq | - | |
store.wangwang | 旺旺 | - |
ShopEx数据库手册for ShopEx开发文档(一)
数据表:sdb_sfiles
数据表:sdb_status
缓存对象管理表:sdb_cachemgr
商店配送方式表:sdb_dly_type
- 结构说明:
Array ( [0] => 关闭 [1] => 启用 )
站点结构:sdb_sitemaps
数据表:sdb_orders
数据表:sdb_gtask
- 结构说明:
Array ( [online] => 上架 [offline] => 下架 )
数据表:sdb_tag_rel
数据表:sdb_link
物流公司表:sdb_dly_corp
数据表:sdb_lnk_acts
数据表:sdb_gimages
数据表:sdb_plugins
- 结构说明:
Array ( [io] => 输入输出 [schema] => 商品插件 [hook] => 事件处理 [pmt] => 优惠规则 [local] => 地区插件 [messenger] => 消息发送 [pay] => 支付插件 [passport] => 登陆插件 [admin] => 后台功能插件 [shop] => 后台功能插件 [action] => 网店机器人动作 ) Array ( [0] => 系统 [9] => 模板 ) Array ( [file] => 文件型 [dir] => 目录型 ) Array ( [unused] => 未使用 [used] => 使用过 [broken] => 已损坏 )
赠品订单明细表:sdb_gift_items
- 结构说明:
Array ( [present] => 赠送 [exchange] => 兑换 )
- 结构说明:
Array ( [active] => 活动订单 [dead] => 死单 [finish] => 已完成 ) Array ( [0] => 未支付 [1] => 已支付 [2] => 处理中 [3] => 部分付款 [4] => 部分退款 [5] => 全额退款 ) Array ( [0] => 未发货 [1] => 已发货 [2] => 部分发货 [3] => 部分退货 [4] => 已退货 ) Array ( [null] => 无反馈 [payed] => 已支付 [shipped] => 已到收货 ) Array ( [true] => [false] => )
存放发给用户的款项记录:sdb_refunds
- 结构说明:
Array ( [online] => 在线支付 [offline] => 线下支付 [deposit] => 预存款支付 [recharge] => 预存款充值 ) Array ( [ready] => 准备中 [progress] => 正在退款 [sent] => 款项已退 [received] => 用户收到退款 [cancel] => 已取消 )
数据表:sdb_triggers