/ 根目录
/admin 后台目录(目录名可更改)
/api API文件目录,存放ucenter、PHPWind、QQ互联、新浪微博、支付方式(支付宝,财付通、预存款等)和商品等API文件
/cache 缓存文件目录
/control 控制器目录(C)
/data 常用公共数据(地区、发言表情等)
/framework 核心框架目录
/install 安装程序目录
/language 语言包目录
/model 模型文件目录(M)
/resource 资源目录(字体、JS文件、HTML编辑器、验证码用字体图片、二维码依赖文件等)
/templates 模板文件目录,视图文件(V)
/templdate/default 默认的模板风格
/upload 附件目录(商品图、店铺认证、会员头像、促销活动图等上传的所有图片)
ShopNC商城系统采用MVC模式,控制器文件位于control目录,模型文件位于model目录,视图文件位于templates目录,系统框架依据act和op参数(GET/POST过来的)完成控制器调度。
控制器类文件名一般为业务名称,类名称一般为 “业务名称+Control”,例如品牌控制器(control/brand.php)类名为brandControl。
模型类文件名一般为“表名称+.model”,类名称“表名+Model”,例如广告模型(model/adv.mode.php)类名称为advModel。
跟据商城业务需要,系统内置三个控制器父级类,BaseHomeControl、BaseMemberControl和BaseMemberStoreControl分别适用于前台展示、会员中心、店铺中心三类控制器。
代码001
控制器:
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‘);
代码001
模板代码view:
<?php defined(‘InShopNC‘) or exit(‘Access Invalid!‘);?>
<!--上面是进行合法验证,在商城系统下的模板文件都需要进行该验证。-->
<?php include template(‘home/cur_local‘);?>
<!--上面是在品牌展示页面显示当前位置,实际输出内容为:当前位置:首页 > 所有品牌 -->
<h2><b><?php echo $lang[‘brand_index_brand_list‘];?></b></h2>
<!--上面是输出标题,实际内容为:品牌列表-->
<!--$lang 数组内容为Language::read() 得到的语言包信息,-->
<?php if(is_array($output[‘brand_list‘])){?>
<!--使用Tpl::output抛出到模板的内容,保存到了$output数组中,保存下标名称为output方法的第一个参数值,-->
<?php foreach($output[‘brand_list‘] as $key=>$val){?>
<!--循环输出品牌内容-->
<div class="wrap">
<ul>
<li>
<a href="<?php echo ncUrl(array(‘act‘=>‘brand‘,‘op‘=>‘list‘,‘brand‘=>$brand[‘brand_id‘]));?>" >
<!-- 生成跳转URL(伪静态或动态)-->
<span><img src="<?php echo ATTACH_BRAND.‘/‘.$brand[‘brand_pic‘];?>" alt="<?php echo $brand[‘brand_name‘];?>" /></span>
</a>
</li>
</ul> </div>
<?php }?>
<?php }?>