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

以前没有怎么接触过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. [SQL]循环插入数据,并且计算插入所用时间

    --得出以上速度的方法是:在各个select语句前加: declare @d datetime set @d=getdate() select * from tb --并在select语句后加: se ...

  2. (easy)LeetCode 204.Count Primes

    Description: Count the number of prime numbers less than a non-negative number, n. Credits:Special t ...

  3. 针对android方法数64k的限制,square做出的努力。精简protobuf

    1.早期的Dalvik VM内部使用short类型变量来标识方法的id,dex限制了程序的最大方法数是65535,如果超过最大限制,无法编译,把dex.force.jumbo=true添加到proje ...

  4. ubuntu搭建分布式hadoop-2.6.0概略和错误

    详细配置:http://blog.csdn.net/ggz631047367/article/details/42426391 1.修改机器/etc/hostname分别为   master    s ...

  5. Oracle GoldenGate 11.2 OGG-01168(转)

    为客户部署的Oracle GoldenGate在测试阶段出现如下的错误: 2012-04-24 10:45:20  ERROR   OGG-01168  Oracle GoldenGate Deliv ...

  6. Redis附加功能之Redis事务

    一.事务 Redis 的事务功能允许用户将多个命令包裹起来,然后一次性地.按顺序地执行被包裹的所有命令.在事务执行的过程中,服务器不会中断事务而改去执行其他命令请求,只有在事务包裹的所有命令都被执行完 ...

  7. SDUT 3346 数据结构实验之二叉树七:叶子问题

    数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  8. 慕课网-安卓工程师初养成-4-14 Java 循环语句之多重循环

    来源:http://www.imooc.com/code/1497 循环体中包含循环语句的结构称为多重循环.三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环.在二重循环中,外层循环每执行 ...

  9. 关于ORA-04021解决办法(timeout occurred while waiting to lock object)

    某个应用正在锁定该表或者包 表为 select b.SID,b.SERIAL#,c.SQL_TEXT from v$locked_object a, v$session b, v$sqlarea c ...

  10. 在 C# 控制台中记录异常日志并输出

    最近做了一个小程序,要求在控制台中记录程序运行的异常并输出到指定的文件夹中,以下是我的具体的程序代码: public static void ErrorLog(Exception ex) { stri ...