shopNC二次开发必备知识

xiaoxiao2021-02-28  8

 

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前台控制器

系统内置三个控制器父级类,BaseHomeControlBaseBuyControlBaseMemberControlBaseSellerControl分别适用于前台展示、下单、会员中心、商家中心三类控制器。

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

<?php defined('InShopNC') or exit('Access Invalid!');?>

<!--上面是进行合法验证,在商城系统下的模板文件都需要进行该验证。-->

 <?php include template('home/cur_local');?>//代码250行

<!--上面是在品牌展示页面显示当前位置,实际输出内容为:当前位置:首页 > 所有品牌 -->

<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 if(!empty($output['brand_r']) && is_array($output['brand_r'])){?>

  <div class="nch-recommend-borand">

    <div class="title" title="<?php echo $lang['brand_index_recommend_brand'];?>"></div>

    <div class="nch-barnd-list">

      <ul>

        <?php foreach($output['brand_r'] as $key=>$brand_r){?>

        <li>

          <dl>

            <dt><a href="<?php echo urlShop('brand', 'list', array('brand'=>$brand_r['brand_id']));?>"><img src="<?php echo brandImage($brand_r['brand_pic']);?>" alt="<?php echo $brand_r['brand_name'];?>" /></a></dt>

            <dd><a href="<?php echo urlShop('brand', 'list', array('brand'=>$brand_r['brand_id']));?>"><?php echo $brand_r['brand_name'];?></a></dd>

          </dl>

        </li>

        <?php }?>

      </ul>

    </div>

  </div>

  <?php }?>

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');//后台的默认模板

 

了解更多,学习地址

转载请注明原文地址: https://www.6miu.com/read-2250329.html

最新回复(0)