Joomla!的二次开发应该怎么实现呢?可以这样理解,网站程序的二次开发是为了增加网站的功能扩展,开源的网站程序的默认功能都是为了应对基础的网站功能应用而设置的,比如文章、用户、类别、联系人等等。
网站程序的二次开发一般都要修改网站程序自带的核心文件来实现自己需要的定制功能,而这样的修改我是不太建议采取的,这样很容易造成网站系统的不稳定和代码的安全性,以及不利用网站程序的升级,如果是一些已经停止开发的网站程序我们可以这样二次开发,比如Ecshop、DeDe这类已经停止开发,但是代码又太老,不能正常的运行于PHP高版本的服务器。
Joomla!的二次开发就不能修改核心代码来实现自己的功能,首先Joomla!程序的更新频率是非常高的,你可以想像一下,自己辛辛苦苦刚刚改完核心代码,而马上又有新版本的Joomla!可以更新,你会放弃这次的更新吗?又或者更新完了再接着改核心代码呢?
Joomla!的定位是一套可以无限扩展功能的CMS系统,对于普通用户而言,它是一套非常优秀的网站程序,有众多的第三方扩展可以使用,有很多商业扩展,当然也有很多免费的扩展,利用这些功能扩展我们足以应付大部分的网站应用,当然如果自己的功能需求第三方扩展不能满足的情况下,自己可以开发一套扩展来实现自己的需求。
Joomla!的扩展主要有以下几种类型:
- 模板:主要负责整个网站的总体布局,Joomla!的网站布局非常的灵活,是通过定义位置来输出相应位置的内容,而模板就是定义这些位置的。
- 模块:主要负责模板位置的输出,而模块本身也是可以定义自己的输出模板的。模块一般都是基于组件来输出组件的数据。
- 插件:主要是负责网站程序事件的处理,Joomla!的事件功能是非常强大的,我们完全可以通过事件处理来实现修改一些核心功能的不足。比如我们保存一篇文章的时候会触发多个事件,比如保存文章之前会触发一个事件,我们可以通过插件去修改一些保存的数据。成功保存文章之后又会触发一个事件,我们可以通过事件去截获保存文章的一些数据交付给其它的组件来处理这部分事件。
- 组件:这可以说是扩展的核心扩展,一套完整的组件往往会包含模块、自定义表单元素、插件、路由规则等等。Joomla!的菜单View都是通过组件去产生的,网站模板有一个固定的组件位置专门用于输出组件View输出的内容。组件一般都包含后台管理、前端页面。后台管理能管理组件的数据表以及组件各种配置参数。
- 自定义表单元素(field):这种严格来说,不能算是独立的扩展,一般都是配合组件表单来使用的,可以定义一些特殊的表单元素,比如AJAX即时搜索功能等等。
好了,说了这么多相信大家都对Joomla!的二次开发也有了初步的了解了,Joomla!是一套值得大家去学习的CMS系统。