ShopNC学习笔记(转)
1、shopnc目录结构
admin 后台管理目录
chat IM目录
circle 圈子目录
cms CMS目录
microshop 微商城目录
shop 商城目录
core 框架目录
data 公共资源目录
mobile 手机客户端API
wap wap商城
data > api 第三方API目录
data > cache 缓存文件目录
data > area 地区文件目录
data > model 数据对象文件目录
data > resource 静态资源文件目录
data > cache 缓存文件目录
data > config 配置文件目录
data > crontab 定时触发文件目录
data > log 系统运行日志目录
data > session SESSION文件存放目录
data > upload 上传图片目录
core > framework 系统框架
core > framework > cache 缓存驱动
core > framework > core 核心文件
core > framework > db 数据层驱动
core > framework > function 系统方法
core > framework > libraries 类库
core > language 框架语言包目录
shop > install 安装目录
shop > language 语言包目录
shop > control 控制器目录
shop > templates 模板目录
2、Url地址分析
http://localhost/shopnc13/shop/index.php?act=goods&op=index&goods_id=53
Index.php 人口文件
act 控制器
Op 方法
3、MVC结构
Model 数据模型 F:\wamp\www\shopnc13\data\model
V 视图 F:\wamp\www\shopnc13\shop\templates
C 控制器 F:\wamp\www\shopnc13\shop\control
4、数据模型
#F:\wamp\www\shopnc13\core\framework\libraries\model.php
$user=M(‘user’);
系统首先会查找model/user.model.php文件及内部的memberModel类是否存在,如果存在会查找model.php
5、重要的系统函数和系统类
F:\wamp\www\shopnc13\core\framework\libraries(系统类目录)
F:\wamp\www\shopnc13\core\framework\function(系统函数)
详细见手册
6、Shopnc前台控制器
系统内置三个控制器父级类,BaseHomeControl、BaseBuyControl、BaseMemberControl和BaseSellerControl分别适用于前台展示、下单、会员中心、商家中心三类控制器。
7、 (前台)代码解释
1)前台品牌控制器解析
F:\wamp\www\shopnc13\shop\control\brand.php
/加载语言包
Language::read(\'home_brand_index\');
//使用模型获得品牌列表
$model = Model();
$brand_list = $model->table(\'brand\')->select();
//向模板抛出内容
Tpl::output(\'brand_list\',$brand_list);
//设置页面标题
Tpl::output(\'html_title\',Language::get(\'brand_index_brand_list\'));
//输出SEO设置信息
Model(\'seo\')->type(\'brand\')->show();
//调用模板展示
Tpl::showpage(\'brand\');
2)(前台)品牌模板代码解析
F:\wamp\www\shopnc13\shop\templates\default\layout\home_layout.php
//代码250行
8、系统常量
RESOURCE_SITE_URL http://localhost/shopnc/data/resource
9、自定义系统常量
1)F:\wamp\www\shopnc\data\config\config.ini.php
写自己的配置
2)F:\wamp\www\shopnc\core\shopnc.php
定义常量
10、后台分页类
$rows = $model->page(2)->select();
Tpl::output(\'page\', $model->showpage(\'3\'));
Tpl::output(\'czh_data\',$rows);
11、后台模块开发
1)F:\wamp\www\shopnc\admin\include\menu.php文件中填写如下代码:
$arr[\'top\'][] = array(
\'args\' => \'czh\',
\'text\' => $lang[\'nc_czh\']);
$arr[\'left\'][] = array(
\'nav\' => \'czh\',
\'text\' => $lang[\'nc_czh\'],
\'list\' => array(
0 => array(\'args\'=>\'index,czh_setting,czh\',\'text\'=>$lang[\'nc_czh_setting\']),
)
);
2)F:\wamp\www\shopnc\admin\language\zh_cn\layout.php文件中填写如下代码
$lang[\'nc_czh\'] = \'云知梦\';
$lang[\'nc_czh_setting\'] = \'云知梦设置\';
3) F:\wamp\www\shopnc\admin\control文件夹下新建czh_setting.php(此处为控制器注意书写规则) 实例删除的方法书写
public function deleteOp(){
$id=$_GET[\'id\'];
$model=Model(\'czh\');
$result=$model->delete($id);
if($result){ showMessage(L(\'nc_common_op_succ\'),\'index.php?act=czh_setting&op=index\');
}else{ showMessage(L(\'nc_common_op_fail\'),\'index.php?act=czh_setting&op=index\');
}
}
4) F:\wamp\www\shopnc\admin\templates\default 文件夹下书写跳转的界面
12、模板切换
F:\wamp\www\shopnc\global.php
define(\'TPL_SHOP_NAME\',\'default\');//商城的默认模板
define(\'TPL_CIRCLE_NAME\', \'default\');//圈子的默认模板
define(\'TPL_MICROSHOP_NAME\', \'default\');//微商城的默认模板
define(\'TPL_CMS_NAME\', \'default\');//cms的默认模板
define(\'TPL_ADMIN_NAME\', \'default\');//后台的默认模板