没有合适的资源?快使用搜索试试~ 我知道了~
oomla组件开发-49JController以及其子类 zmax程序人开发
资源详情
资源评论
资源推荐
Joomla 组件开发-49JController 以及其子类
在 Joomla2.5 中,对 MVC 做了很多的改进,这些改进使得开发者的工作
量大大减少。在 1.5 版本中,只有一个控制器类 (JController),在 2.5 版本
中增加了 JControllerAdmin,JControllerForm 这两个类,这个两个类都是
JController 的子类。每一个类在 Joomla 的组件开发中都有其独特的作用,关
于这些类的使用,下面是一个一般的使用方法。如果你分析文章组件后台的代
码,(JOOLMA_INSTAION/administrator/components /com_content),
你可以看到控制器会在两个地方出现。第一个是组件的更目录下 ,这个文件通
常为 controller.php.另外一个地方是 controllers 文件夹,controller.php 这
个类是主控制器类,这个类 直接派生自 JController 类。在 controllers 文件
夹中的类,是子类,我个人喜欢称其为特殊控制器(非官方叫法)。特殊控制
器派生自 JControllerAdmin 或者 JControllerForm 这两个类。
主控制器
主控制器一般只处理 display 任务,这个任务同时也是 JController 类的默
认任务。打开 com_content/content.php 这个文件,你会发现其中的
JController::getInstance()方法只有一个参数,那就是组件的名称。在
JController 中,她依靠 task 这个变量来确定应该加载哪一个控制器类。如果
task 变量中包含了点(.),那么系统就假设 task 变量的格式为
controller.task 或者 controller.method.对于我们来说,我们只需要知道
task 变量是用来指定控制器需要执行的任务就行了。如果 task 变量是
controller.task 这个格式,那么系统就会加载位于 controllers 文件夹中的特
殊控制 器,然后重写 task 变量(去掉前面的控制器的名称)。如果 task 变量
中不包含点(.),JController 将会加载更目录下的主控制器。在主控制 器中,
我们通常指定一个默认的 view 变量,以此用来执行需要执行的视图。如果在
请求的 URL 中并没有 view 变量,那么主控制中默认的 view 变量的值 将被使
用。所以,我们可以得到如下的结论:用主控制器去指定一个 view 变量,该
变量表示默认的视图。如果请求的 URL 中并没有 view 变量,那么主控制器指
定的变量将被执行。
用特殊控制器去指定 task 变量。格式
task=CONTROLLER_ANME.CONTROLLER_METHOD
在 Joomla 中最常见的两种视图是:列表视图和项目详情视图。列表视图
(List view)通常用来显示一个结果集。项目详情视图通常用来显示一个项目
的详细情况。比喻编辑。用系统自带的文章组件作为一个例子。在文章组件中
有一个叫做 articles 的视图,这个视图的作用就是显示一个结果集。同时我们
也注意到在视图中也添加了工具栏。这个工具栏是依据用户的权限来显示的。
zhangmin19
- 粉丝: 0
- 资源: 51
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0