公司在做Joomla的一个开发项目,我是主要负责后台的,研究了一段时间,终于大概能摸清了Joomla的思路,此时的版本是3.2,由于网上的Joomla教程少之又少(大多是1.5版本的),官方的组建又有好多收费的,所以特地分享部分开发经验,方便以后利用。
关于Joomla的模式,这个就不多说了把,基本都是基于模块和组件的MVC模式,主要的核心控制还是在components文件夹下,命名方式为com_xxx,此文件夹下面的目录结构也不多说了,都是标准的MVC格式,这里主要是分享model模块的方法。Joomla本身自带了非常强大的model类,常见的是继承与JModelAdmin和JModelList,利用好这两个模型类可以非常快速的生成一个列表和增删改查页面。同时列表中可以非常快速的增加筛选,排序,批量操作,更改状态等等一系列的操作,而增删改查页面可以非常快速的帮你构建form表单,并且支持表单验证等等。
JModelAdmin模型类
此模型类主要封装了用户增加信息和修改信息的功能,主要在模型中继承父级的getTable,getItem,getFrom,loadFormData,preprocessForm,save,delete,batch等方法,这些方法主要是作用于controller中,帮助controller快速完成增加,查看,编辑,和删除等功能.下面粗略的介绍下各个方法的用法:
1、getTable ,可以从字面疑似中看出,就是获取tabel的方法,不知道JTable的可以百度,JTable可以帮助我们快速的网站数据库的增删改查,相当于php框架中的CURD类,写法可以去Joomla中的任意一个table参考即可(需要注意的是table中并不是完全标准的php语法,也就是说一些php的函数是无法在其中使用的),如果对数据库操作不大,也可以直接在model中用sql语句完成。如下代码,User对应你tabel类中的类名,前缀是类前缀(JTable是joomla核心部分的类),如下则自动获取Joomla核心类名为JTableUser的类,如果适应对应com组件下的table,用com_users组建来说,则应该写为