---恢复内容开始---

以前没有怎么接触过shopnc,感觉界面挺漂亮的,不过后来自己需要开发一个电商系统,就顺便参考了下,感觉构架垃圾的一塌糊涂。不过平时做这个系统二次开发的业务比较多,所以简单的总结下。

shopnc有三款产品,b2b2c,c2c和o2o,用的同一个mvc框架和相同的开发规范,所以了解了其中一个,其他两款产品也就算理解了。

shopnc使用的自己开发的mvc框架,粗略的看了下,还是比较简单的。

先从文件结构说起

├─admin
│ ├─config
│ ├─control
│ ├─framework
│ │ └─libraries
│ ├─include
│ ├─language
│ │ ├─zh
│ │ └─zh_cn
│ └─templates
│ └─default
│ ├─css
│ │ └─font
│ │ └─font-awesome
│ │ ├─css
│ │ └─font
│ ├─images
│ │ ├─login
│ │ ├─mac
│ │ ├─member
│ │ └─sky
│ └─layout
├─chat
│ ├─config
│ ├─control
│ ├─language
│ │ └─zh_cn
│ ├─resource
│ │ └─js
│ └─templates
│ └─default
│ ├─css
│ └─images
├─circle
│ ├─config
│ ├─control
│ ├─framework
│ │ ├─function
│ │ └─libraries
│ ├─language
│ │ ├─zh
│ │ └─zh_cn
│ ├─model
│ ├─resource
│ │ └─js
│ │ └─miniditor
│ └─templates
│ └─default
│ ├─css
│ ├─images
│ │ ├─member-card
│ │ ├─shareicon
│ │ └─smilier
│ └─layout
├─cms
│ ├─config
│ ├─control
│ ├─framework
│ │ ├─function
│ │ └─libraries
│ ├─language
│ │ └─zh_cn
│ ├─model
│ ├─resource
│ │ └─js
│ └─templates
│ └─default
│ ├─css
│ ├─images
│ │ ├─attitude
│ │ ├─dialog
│ │ └─shareicon
│ └─layout
├─core
│ ├─framework
│ │ ├─cache
│ │ ├─core
│ │ ├─db
│ │ ├─function
│ │ └─libraries
│ └─language
├─data
│ ├─api
│ │ ├─snsapi
│ │ │ ├─qqweibo
│ │ │ ├─qqzone
│ │ │ │ ├─comm
│ │ │ │ ├─oauth
│ │ │ │ ├─share
│ │ │ │ └─user
│ │ │ └─sinaweibo
│ │ ├─taobao
│ │ │ └─request
│ │ └─xs
│ │ ├─app
│ │ ├─lib
│ │ └─util
│ │ └─skel
│ │ ├─css
│ │ └─img
│ ├─area
│ ├─cache
│ │ ├─adv
│ │ ├─fields
│ │ ├─index
│ │ ├─rec_position
│ │ └─tpl
│ ├─config
│ ├─crontab
│ │ └─include
│ ├─log
│ ├─model
│ ├─resource
│ │ ├─examples
│ │ ├─font
│ │ ├─highcharts
│ │ ├─js
│ │ │ ├─ajaxfileupload
│ │ │ ├─cms
│ │ │ ├─colorpicker
│ │ │ ├─dialog
│ │ │ │ └─images
│ │ │ ├─fileupload
│ │ │ ├─jcarousel
│ │ │ │ └─skins
│ │ │ │ ├─ie7
│ │ │ │ ├─personal
│ │ │ │ └─tango
│ │ │ ├─jquery-ui
│ │ │ │ ├─i18n
│ │ │ │ └─themes
│ │ │ │ ├─smoothness
│ │ │ │ │ └─images
│ │ │ │ └─ui-lightness
│ │ │ │ └─images
│ │ │ ├─jquery-ui-timepicker-addon
│ │ │ ├─jquery.imgareaselect
│ │ │ ├─jquery.Jcrop
│ │ │ ├─jquery.nyroModal
│ │ │ │ ├─img
│ │ │ │ └─styles
│ │ │ ├─jquery.raty
│ │ │ │ └─img
│ │ │ ├─map
│ │ │ ├─qtip
│ │ │ ├─slidesjs
│ │ │ └─smilies
│ │ │ └─images
│ │ ├─kindeditor
│ │ │ ├─attached
│ │ │ ├─lang
│ │ │ ├─php
│ │ │ ├─plugins
│ │ │ │ ├─anchor
│ │ │ │ ├─autoheight
│ │ │ │ ├─baidumap
│ │ │ │ ├─clearhtml
│ │ │ │ ├─code
│ │ │ │ ├─emoticons
│ │ │ │ │ └─images
│ │ │ │ ├─filemanager
│ │ │ │ │ └─images
│ │ │ │ ├─flash
│ │ │ │ ├─image
│ │ │ │ │ └─images
│ │ │ │ ├─insertfile
│ │ │ │ ├─lineheight
│ │ │ │ ├─link
│ │ │ │ ├─map
│ │ │ │ ├─media
│ │ │ │ ├─multiimage
│ │ │ │ │ └─images
│ │ │ │ ├─pagebreak
│ │ │ │ ├─plainpaste
│ │ │ │ ├─preview
│ │ │ │ ├─quickformat
│ │ │ │ ├─table
│ │ │ │ ├─template
│ │ │ │ │ └─html
│ │ │ │ └─wordpaste
│ │ │ └─themes
│ │ │ ├─common
│ │ │ ├─default
│ │ │ ├─qq
│ │ │ └─simple
│ │ ├─phpqrcode
│ │ │ ├─bindings
│ │ │ │ └─tcpdf
│ │ │ ├─cache
│ │ │ │ ├─mask_0
│ │ │ │ ├─mask_1
│ │ │ │ ├─mask_2
│ │ │ │ ├─mask_3
│ │ │ │ ├─mask_4
│ │ │ │ ├─mask_5
│ │ │ │ ├─mask_6
│ │ │ │ └─mask_7
│ │ │ ├─temp
│ │ │ └─tools
│ │ ├─seccode
│ │ │ ├─font
│ │ │ │ ├─ch
│ │ │ │ └─en
│ │ │ └─gif
│ │ │ └─ShopNC
│ │ └─web_config
│ ├─session
│ ├─smilies
│ └─upload
│ ├─circle
│ │ └─group
│ ├─cms
│ │ ├─article
│ │ └─index_html
│ ├─microshop
│ └─shop
│ ├─activity
│ ├─adv
│ ├─article
│ ├─auth
│ ├─avatar
│ ├─brand
│ ├─common
│ ├─complain
│ ├─editor
│ ├─groupbuy
│ │ └─1
│ ├─inform
│ ├─login
│ ├─member
│ ├─membertag
│ ├─mobile
│ │ ├─ad
│ │ └─category
│ ├─pointprod
│ ├─rec_position
│ ├─store
│ │ ├─1
│ │ ├─2
│ │ ├─goods
│ │ │ ├─1
│ │ │ └─2
│ │ └─slide
│ ├─store_joinin
│ ├─voucher
│ └─watermark
├─microshop
│ ├─config
│ ├─control
│ ├─framework
│ │ ├─function
│ │ └─libraries
│ ├─language
│ │ └─zh_cn
│ ├─model
│ ├─resource
│ │ └─js
│ │ ├─fileupload
│ │ ├─jcarousel
│ │ │ └─skins
│ │ │ └─personal
│ │ └─smilies
│ │ └─images
│ └─templates
│ └─default
│ ├─css
│ ├─images
│ │ ├─dialog
│ │ ├─ie6
│ │ ├─index-temp
│ │ ├─member-card
│ │ └─shareicon
│ └─layout
├─mobile
│ ├─api
│ │ └─payment
│ │ └─alipay
│ │ ├─images
│ │ ├─key
│ │ └─lib
│ ├─config
│ ├─control
│ ├─framework
│ │ └─function
│ ├─language
│ │ └─zh_cn
│ ├─model
│ ├─readme
│ │ ├─api_files
│ │ └─sql
│ └─templates
│ └─default
│ └─layout
├─shop
│ ├─api
│ │ ├─payment
│ │ │ ├─alipay
│ │ │ ├─chinabank
│ │ │ └─tenpay
│ │ │ └─classes
│ │ ├─qq
│ │ │ ├─comm
│ │ │ ├─oauth
│ │ │ └─user
│ │ └─sina
│ ├─config
│ ├─control
│ ├─framework
│ │ ├─function
│ │ └─libraries
│ ├─install
│ │ ├─css
│ │ ├─data
│ │ ├─images
│ │ └─include
│ ├─language
│ │ ├─zh
│ │ └─zh_cn
│ ├─resource
│ │ ├─font
│ │ │ └─font-awesome
│ │ │ ├─css
│ │ │ └─font
│ │ └─js
│ └─templates
│ └─default
│ ├─buy
│ ├─css
│ ├─home
│ ├─images
│ │ ├─buy
│ │ ├─ie6
│ │ ├─member
│ │ │ └─shareicon
│ │ ├─member-card
│ │ ├─payment
│ │ ├─seller
│ │ │ └─login
│ │ ├─shop
│ │ ├─sns
│ │ ├─store_joinin
│ │ └─treetable
│ ├─layout
│ ├─member
│ ├─seller
│ ├─sns
│ │ └─style
│ │ ├─skin01
│ │ ├─skin02
│ │ ├─skin03
│ │ ├─skin04
│ │ ├─skin05
│ │ └─skin06
│ └─store
│ └─style
│ ├─default
│ │ └─images
│ ├─style1
│ │ └─images
│ ├─style2
│ │ └─images
│ ├─style3
│ │ └─images
│ ├─style4
│ │ └─images
│ └─style5
│ └─images
└─wap
├─bug
├─css
├─html
│ └─web
│ ├─css
│ ├─images
│ ├─js
│ │ └─tmpl
│ ├─tmpl
│ │ ├─member
│ │ └─order
│ └─upload
├─images
├─js
│ └─tmpl
├─tmpl
│ ├─member
│ └─order
└─upload

文件夹功能如下

admin            后台

chat               在线im

circle              圈子

cms               cms文章系统

core               公共文件

data               数据存放

microshop       微商城

mobile             手机app服务端

shop               前台

wap                wap端

先看前台,前台的逻辑和模板都在shop目录中,web目录中index.php会自动转向到shop目录

shop的目录文件功能如下:

api                     外部api调用

config                 配置文件

control               控制器(业务逻辑)

framework          框架

install                 安装文件

language            多语言配置文件目录

resource             素材

templates           模板目录

mvc 框架中的 m 在上级目录中 data/model 中,v 在当前目录 templates 中 ,而 c 就是 control 文件夹

明白了文件夹含义,修改相对应的逻辑就比较简单了

shopnc二次开发(一)的更多相关文章

  1. shopnc二次开发(二)

    一般来说二次开发,多数就是修改界面和增加功能这两个需求 先说修改界面 mvc 架构的程序,在界面这里,基本就是调用数据. 常见的界面数据构架有三种 1.是业务端或者是控制端数据驱动界面,基本上是后台输 ...

  2. sitemap.xml 静态和动态生成页面 shopnc二次开发 动态生成sitemap.xml

    Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页.最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间.更改的 ...

  3. shopnc 二次开发 每日签到积分领取

    /* 开始shopnc!!!!! url:xxx.com/index.php?act=index&op=userjf 一个四线城市的半吊子程序员~ 实现:前台模板文件 随便加入<a> ...

  4. jQuery 验证实例(shopnc二次开发)

    shopnc 商家用户实现添加用户与前台用户分离, jQuery 验证实例 equalTo:等于 <div id="saleRefund" show_id="1&q ...

  5. shopnc 二次开发问题(一)

    1.关于shopnc商品详情页面多规格抢购,价格显示都是显示的抢购价格问题 路径: data/model/groupbuy.model.php 方法:getGroupbuyInfoByGoodsCom ...

  6. Navisworks API 简单二次开发 (自定义工具条)

    在Navisworks软件运行的时候界面右侧有个工具条.比较方便.但是在二次开发的时候我不知道在Api那里调用.如果有网友知道请告诉我.谢谢. 我用就自己设置一个工具.界面比较丑!没有美工. 代码: ...

  7. [连载]《C#通讯(串口和网络)框架的设计与实现》- 12.二次开发及应用

    目       录 第十二章     二次开发及应用... 2 12.1        项目配制... 3 12.2        引用相关组件... 4 12.3        构建主程序... 5 ...

  8. OBS-Studio二次开发记录

    OBS-Studio 是一款跨平台的,开源的视频直播客户端软件. 公司需要对他进行二次开发,开发的目的是使用它的录屏功能. 开发的要求是:定制全新的界面,所见即所得,window系统兼容要好. 开发步 ...

  9. 小猪cms微信二次开发之怎样分页

    $db=D('Classify'); $zid=$db->where(array('id'=>$this->_GET('fid'),'token'=>$this->tok ...

随机推荐

  1. centos 下安装.net core

    先要安装libunwind, libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,32位操作系统不要安装.其中包括用于输出堆栈跟踪的API.用于以编程方式辗转开解堆栈的 ...

  2. ArcGIS 通视分析工作原理

    通过通视分析工具可根据在 3D 空间中相对于某表面或多面体要素类提供的障碍的位置,计算各线要素的第一个和最后一个折点之间的通视性.前一个折点定义为观测点,后一个折点为观测目标.沿着这些点之间的视线确定 ...

  3. Hibernate 实体关联关系映射【转】

    Hibernate关联关系映射目录│ ├─单向关联│  ├─  一对一外键单向关联│  ├─  一对一主键单向关联│  ├─  一对一连接表单向关联│  ├─  一对多外键单向关联│  ├─  一对多 ...

  4. 2015 ACM/ICPC Asia Regional Beijing Online

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 You must have seen the very famous movie series,"Mission ...

  5. Android中通过广播方式调起第三方App

    今天紧急的跟进一个百度视频App无法调起百度贴吧App的问题,当然,这个是只发现是在4.x的android系统下发生,在2.x版本下,一切正常,(其实是3.1及以上的版本都有问题)具体场景为: 1.贴 ...

  6. Git简单使用

    删除本地旧分支,拉取新分支 #!/bin/bash set -e cd /project/ git pull git fetch ori --prune git branch -r|sed 's/or ...

  7. Oracle 删除数据后释放数据文件所占磁盘空间

    测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle “高水位”所致,那么怎么把这些数据文件的大小降下来呢?解决办 ...

  8. 关于WinCE流接口驱动支持10以上的端口号(COM10)

    一般情况下,WinCE流驱动的索引为0~9.应用程序中,通过CreateFile(_T("XXXN:"),…)打开对应的驱动,N也为0~9.这样看来,似乎在WinCE下同名流驱动个 ...

  9. OS X 升级 Yosemite 后,Intellij IDEA 与 VirtualBox 启动失败

    报错: Dyld Error Message: Symbol not found: _CGContextSetAllowsAcceleration Referenced from: /Library/ ...

  10. 在 angularjs 中集成 bootstrap typeahead

    问题 在使用 typeahead 的时候,有这样一个需求,当用户选中其中一项的之后,将项目对应的 id 保存到另外一个变量中,以后在提交表单的时候,将这个 id 发送到服务器中. 但是,在 typea ...