二次开发目录(以下简称CUSTOM_CORE_DIR)提供一个独立的二次开发环境目录,需要开发者在config.php中自定义一个文件目录,用于接管系统原有的流程,从而达到在不影响系统本身代码的情况下进行二次开发的目的。
CUSTOM_CORE_DIR使用方法与规则
- MVC文件
- LIB
- dbschema
- XML文件(site.xml,services.xml,desktop.xml等)
- 设置setting.php
- widgets文件
- xmlschema文件
- initial初始化文件
- task.php安装任务文件
CUSTOM_CORE_DIR使用方法与规则
- 首先我们需要在系统的config.php中加入一行"define('CUSTOM_CORE_DIR',ROOT_DIR.'/xxx');"来定义二次开发的环境目录。xxx代表二次开发目录名,二者需要一致。
- 然后我们在与APP文件夹同级的目录下新建立一个名为xxx的文件夹,把需要接管的文件按原目录(APP下目录)重建。
- 把需要接管的文件按照原APP,原路径,以及原文件名重建(如果需要还原,把新文件删掉即可)。
- 如果需要改动dbschema,或者xml文件,后台更新维护才能生效。
使用CUSTOM_CORE_DIR
- 在配置文件config/config.php中加入二次开发的环境目录配置
define('CUSTOM_CORE_DIR',ROOT_DIR.'/custom');
- 修改文件
如果在二次开发中需要修改 app/b2c/controller/admin/brand.php 文件
那么我们可以需要在app 同级下建立custom文件夹,然后在custom文件夹中建立 /b2c/controller/admin/brand.php 文件
custom 中的文件命名规则和在 app 下是一样的,这样custom中的brand.php 接管了 app下的brand.php
如果是修改只要修改custom 中的文件就可以了,如果需要还原只要把custom中的文件删除即可。
使用二次开发模式的优缺点利
可以在不修改原系统代码的前提下,重载并扩展系统功能,为其他定制app提供支持
弊
如果定义了desktop.xml或者service.xml或者dbschema中的数据库描述文件,那么原系统的这些文件如果升级后发生变化,那么该 部分变化将无法得到更新。所以尽量避免对这些文件的定制重载(后续版本会更改这个机制,对于这类文件会采用内容追加的方式,而非替代)
http://www.ec-os.net/append-b/re-development.html
相关推荐
《Gyazowin-CUSTOM_imageprocessing_gyazo_——自定义图像处理的Gyazo实现解析》 Gyazowin-CUSTOM_imageprocessing_gyazo_是一个专门为开发者设计的自定义版本的Gyazo软件,它使得图像处理功能的扩展和定制变得更加...
标题 "Stylish-Custom-themes-for-any-website_v1.8.3.rar" 提供了一个关于自定义网站主题的扩展程序,版本为1.8.3。这个扩展程序允许用户为他们访问的任何网站定制样式,从而改变浏览器的视觉体验。其中,“Stylish...
`custom_log`项目是基于Monolog库的一个自定义日志实现,旨在扩展和定制Laravel的日志功能,以满足特定的需求。 **一、Monolog简介** Monolog是PHP中最广泛使用的日志处理库,它提供了多种处理器和处理器链,可以将...
标题“custom-entity-_2.rar_custom entity_自定义实体”提示我们,这个压缩包包含的资源与自定义实体的开发有关,可能是一篇详细的教程或技术文档。"custom entity _2.pdf"是其中的文件,可能是这篇文章的PDF格式。...
在IT行业中,自定义图像文件探索器是一种专为特定需求设计的工具,它允许用户以独特的方式浏览、管理和操作图像文件。"custom-image-explorer_image_custom_Explorer_"这个标题暗示了我们正在讨论一个用于定制图像...
在IT行业中,构建系统是软件开发过程中的重要组成部分,它负责自动化源代码的编译、链接和其他相关任务。Meson是一种现代、快速且易于使用的构建系统,被广泛应用于C、C++、Python等项目的构建。本篇文章将深入探讨...
在Android开发中,有时我们需要为应用提供自定义的软键盘以满足特定的用户交互需求,例如金融应用可能需要专门的数字键盘或者游戏应用可能需要特殊功能的按键布局。本项目"custom_keyboard"专注于探讨如何在Android...
综上所述,Advanced Custom Fields Widget是WordPress开发中的一个重要工具,它使得非编码用户也能轻松添加和管理自定义字段,并将这些自定义内容巧妙地整合到网站的小工具区域。这对于提升网站的视觉效果、信息展示...
《自定义libacio+ea3-config在SDVX中的应用》 在电子音乐游戏领域,SDVX(Sound Voltex)以其独特的音符设计和丰富的曲库吸引了众多玩家。在这个领域,玩家们有时会追求个性化的体验,这便涉及到对游戏内部机制的...
《SDVX自定义libacio+ea3配置详解》 在游戏领域,特别是音乐节奏类游戏,自定义配置文件能够极大地提升玩家的游戏体验,个性化设置可以让玩家根据自己的喜好调整游戏的各项参数。本文将深入探讨“custom_libacio+...
在这个“custom_icon.rar”压缩包中,包含的是用户自定义的LabVIEW控件,这些控件是图标形式,可用于改善和个性化你的LabVIEW程序界面。 控件在LabVIEW中扮演着重要的角色,它们是构成用户界面的基本元素,如按钮、...
标题“vc+vtk.rar_Custom control_vc vtk_vtk_vtk-5.0.0_自定义控件”揭示了本项目的核心内容,即使用VC++(Visual C++)开发一个自定义控件,该控件能够集成VTK(Visualization Toolkit)库,版本为5.0.0。...
在WordPress内容管理系统中,Advanced Custom Fields Pro(简称ACF Pro)是一款极其强大的插件,它为网站开发人员提供了丰富的自定义字段工具,允许用户轻松扩展WordPress网站的功能和设计。这款插件是免费版...
总之,SL-CustomFont_CS.zip项目是一个关于Silverlight中实现自定义字体的示例,通过研究源码,开发者可以学习如何在Web应用中有效地使用和管理自定义字体,同时也反映了Silverlight时代Web开发的一些技术和实践。
"Listview - Custom Draw_ListView_CustomDraw_"的主题聚焦于ListView控件的自定义绘制功能,这允许开发者超越默认的视图样式,实现更丰富的视觉效果和交互体验。 ListView控件的自定义绘制(Custom Draw)机制是...
My_-Custom_Video- My_ Custom_Video 视频播放主要基于MPMoviePlayerController原声的播放器进行封装,自定义UI,UI优化,自定义暂停,进度条,播放时间,支持横屏全屏播放的一个自定义播放器
7. **自定义构建步骤**:通过`add_custom_command()`和`add_custom_target()`,用户可以添加自定义的构建步骤。 8. **CMake组件**:CMake不仅仅是一个构建工具,还包括cmake-gui、ccmake等交互式界面,以及ctest、...
3. **自定义目标**:使用`add_custom_command()`和`add_custom_target()`创建自定义构建步骤。 4. **缓存变量**:使用`set()`配合`CACHE`关键字设置缓存变量,供用户在构建时自定义。 总结,ios-cmake-master项目...
完成后,`custom_jre`目录将包含一个精简版的JRE。 除了`jlink`,JDK 12.0.2还引入了其他新特性,比如`switch`表达式增强,它允许更简洁的代码编写;`Text Blocks`,用于处理多行字符串,提高代码可读性;以及` ...
它的目的是为学习和教学辅助,不应在生产中使用,但可能是开发一个新的自定义类型何时开始的好地方。 用法 该模块可以安装在正在运行的 master 上,以了解在 master 和 client 上执行的部分。 或者您可以使用puppet...