在织梦基地已经做过一个教程“织梦二次开发流程分析教程”,在这个教程里面对二次开发流程作了简单分析,本教程将介绍如何学习织梦二次开发和对织梦系统进行二次开发。

掌握二次开发基础知识

1)掌握基础后台标签:

要进行二次开发,首先要学会使用基本的织梦二次开发基础知识,这些基础知识不仅仅包括织梦标签的使用,织梦标签的使用是非常初级的,这些标签并不是指前台标签,而是二次开发用到的后台标签,例如 {dede:datalist}…{/dede:datalist}等,织梦后台的标签相当于数学中的阿拉伯数字,非常基础的,可能会有人说这太简单了吧,其实,使用这些标签是比较简单,但是,并不是每个标签都那么简单,例如,标签

{dede:if 条件} a-block  {else} b-block {/dede:if}

这个标签在后台中虽然使用频率不高,但是,这个标签也是比较重要的,是在做织梦二次开发时常使用到,像这些标签我们在做织梦二次开发时必须会。

2)掌握织梦二次开发常用的类的使用:

在织梦二次开发时,一般都要实例化一些类,特别是像织梦模板引擎类、数据库类的基本使用,做织梦二次开发不要求大家必须弄明白这些类,但是,必须会使用,这是二次开发最基本的要求。特别是模板引擎类前后台的使用非常重要,当然,数据库也非常重要。

3)掌握常用的函数的使用:例如,最常用的织梦的对话框函数、中文截取函数、获取单篇文档信息等等,这些基本函数如果掌握具体代码最好,二次开发我们一般不改织梦官方代码,而是做一些基本的调用,所以,只要会使用这些函数就可以了。

4)掌握php语言基本的函数:例如,定义常量函数、把字符串转成数组、把数组转成字符串、正则匹配函数等等,这些重要的常用的函数要会使用,因为,有可能会用到。

5)掌握织梦系统的设计原理与规范:其实,做织梦二开发,只要把织梦系统的基本的设计原理和设计思想弄明白了,就相当于掌握织梦二次开发70%知识。这些设计原理和规范指的是,例如,圈子前后台设计时把后台操作放在了/dede/目录,而在前台则放到了/group/目录。这只是设计路径,设计方法里面的一个小小的方面,还有很多多。

实践二次开发

要进行二次开发,首先得掌握二次开发的基础知识,当把这些基本的东西掌握了,接下来就是进行二次开发,到底如何进行二次开发,对于初学者来说,最好的方法就是做一个项目,因为,掌握的基础再多不去实践一个项目是无法去理解二次开发的,只有把一个项目真正的完整的开发出来,才能更好的理解织梦二次开发的基础知识,也才能更好的去进行织梦二次开发。

1)如何选择一个好的项目来实践织梦二次开发 ?

选择一个好项目是非常重要的,因为,如果选择的不好可能使用到不多少织梦二次开发基础知识,如果使用的知识基本上是失败的项目,因为,完全就跟全新开发一样,这样的项目意义不大,特别是对于初学织梦二次开发的人员来说;但是,如果一个项目过于复杂,弄个半年才开发出来,这样的效果更不好,因为,毕竟学的是二次开发,而不是全新系统开发,这二者都不是最理想的项目。

2)什么样的项目才是学习织梦二次开发最好的项目?

a) 用到的知识是以织梦系统为主,而不是以php为主,如果以php为主的话,那么,这个项目基本上就是全新开发一个系统了。毕竟是二次开发,是在织梦使用php封装了php函数基础上进行的二次开发,所以,必须以使用织梦系统知识为主。

b) 以php基础知识为辅助,如果一个开发全是调用织梦系统函数,没有使用过php基础知识,那么,这个项目也不是一个好项目,虽然是二次开发,但是,我们以后开发不可能只调用织梦函数,很多时候是要用php知识来写原生态的代码。

实践项目

以前想找个项目来讲解织梦二次开发,找了几个,自己也想了几个但是最后都感觉不好,要么太复杂,要么,太简单学不到知识,要么,自己设计一个项目感觉不够好。

找来找去最后感觉,为什么不把织梦“圈子”当作一个项目呢?

把圈子当作项目的好处

织梦系统默认是没有圈子功能的,当我们安装完织梦系统后,如果让你开发一个圈子功能,你如何开发?我们开发圈子就是对织梦进行二次开发!我们为什么不把圈子功能当成一个像数学中的例题一样来学习呢,圈子是一个非常好的学习织梦二开发的功能。

1)把圈子当项目的原因:圈子功能是人家织梦团队经过10年左右时间的垂练,已经相当完善,与其使用其它项目,为什么不使用圈子呢。

2)圈子项目适中:织梦的圈子是一个简单且复杂的功能,简单是相对于织梦主功能来言,但是,这个功能看上去简单,其实,相当复杂的一个小功能,最重要的是这个项目几乎用到了织梦系统的所有二次开发知识,这是非常重要的,与主程序非常紧密相关。
本文章由织梦基地制作:http://www.dedebase.com/

如何学习织梦二次开发,怎样进行dedecms二次开发相关推荐

  1. php织梦二次开发的功能例子,织梦dedecms二次开发php使用json讲解

    织梦dedecms二次开发php使用json讲解 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将 ...

  2. 织梦二次开发写php,PHP教程—DedeCMS二次开发(二)

    织梦内容管理系统(DedeCMS),是一个集内容发布.编辑.管理检索等于一体的网站管理系统(Web CMS),他拥有国外CMS众多特点之外,还结合中国用户的需要,对内容管理系统概念进行明确分析和定位. ...

  3. Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

    Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发 Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例. 新建一个C#项目,在解决方案中右键添加引用 ...

  4. dedecms二次开发:自定义模型使用教程

    dedecms二次开发:自定义模型使用教程 在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下几种模型:普通文章.图集.软件.商品.分类信息.专题.通过系统 ...

  5. nx二次开发c语言,NX二次开发-UFUN API函数编程基础

    1.NXOpen C 的函数 函数名称的约定 NX Open C 共有2类名称约定:一个是标准的NX Open C 的函数名称约定:另一个是以前版本的原有的名称约定. 1.标准名称约定 [格式]UF_ ...

  6. 房地产—客户关系管理系统CRM|软件开发|软件外包|程序二次开发

    房地产-客户关系管理系统CRM|软件开发|软件外包|程序二次开发 主要:CRM管理,合同管理,绩效管理 1.CRM管理:新增客户,我的资源,公共资源,客户跟进,待审批客户,报备资源,审核释放,预约到访 ...

  7. php织梦二次开发的功能例子,织梦DedeCMS二次开发联动筛选功能的实现(含多选功能)...

    织梦默认的列表页没有筛选功能,但有时候我们做产品列表页的时候,产品的字段比较多,很多人都需要用到筛选功能,这样可以让用户更方便的找到自己所需要的东西,实现这个联动筛选功能需要对织梦进行二次开发,下面就 ...

  8. 织梦php开发tags功能开发,织梦dedecms二次开发中几个标签的应用

    在织梦dedecms 里面对于数组进行循环的标签有好几个,在前台模板即使用静态模板引擎有,{dede:foreach array='数组名称'}[field:key/] [field:value/]{ ...

  9. 测试开发必备技能-Jmeter二次开发

    为什么需要做二次开发?JMeter作为一款开源的性能.接口测试工具,有时候无法满足我们工作的需要,一般体现在:协议不支持.没有相应数据处理功能等. 一般这种情况下,我们可以做的选择有: 第一种找插件 ...

最新文章

  1. 芯片、模组、开发板的区别与联系-结合ESP32浅谈(转载)
  2. sersync + rsync 实现文件的实时同步
  3. IIS/ Apache+PHP+MySQL+ Zend Optimizer完全安装手册
  4. mysql5.7.23版本环境配置
  5. Python模块:time模块详解(转)
  6. P3857-[TJOI2008]彩灯【线性基】
  7. leetcode 268
  8. 实验8 群体类、流类库与输入/输出(4学时)
  9. Intellij IDEA 添加jar包的三种方式
  10. [pthon]模块 time
  11. jquery1.6.2源码拆分一
  12. PHP中的数组(数据结构)
  13. 【2016-2017 ACM-ICPC (ECNA 2016) G】That's one Hanoi-ed Teacher【汉诺塔问题】
  14. 一文带你了解华为私有云
  15. 路由器修改dns服务器,路由器DNS怎么设置如何修改路由器DNS服务器地址
  16. spring Clound EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEW
  17. 蓝牙耳机连接了电脑但是声音外放的解决办法
  18. 安装doctrine
  19. pandas笔记(3)——DataFrame数据查看,缺失值,异常值,重复值预处理
  20. LiveData介绍

热门文章

  1. 结婚需要注意些啥礼节啊?
  2. 忘记使用优惠券,阿里云国际版退款流程及相关问题详解
  3. 华为android 消耗流量,避免手机卡顿,消耗流量,华为手机需要关闭这4个功能
  4. STC51单片机实现蓝牙无线下载程序
  5. 济南计算机大专学校有哪些科目,济南有哪些专科院校 附所有专科院校名单
  6. 【QA】启动时间同步服务失败:Failed to start ntpd.service: Unit not found
  7. HTML5新增的拖拽属性draggable,怎么实现拖拽?
  8. 【ARM 嵌入式 C 入门及渐进 6 -- Linux 内建函数 __builtin_】
  9. Ubuntu Linux操作系统tftp服务器和客户端安装(简单操作)
  10. CFA FRM CPA三证同持,你做到了吗?