joomla1.5前台组件开发过程分享(附中文开发教程两本)

    上一次分享到一个后台组件开发,也许我讲的不是很明白,不过大家把源代码拿去之后应该能够看懂,我是彻底按照MVC模式开发的。今天呢,就 来分享一下前台组件开发,我这里的前台组件和后台组件都是单独开发,前台组件是没有后台管理的,仅仅是开发显示效果,由于默认的排版方式就是那么两种,如 果客户须要个性化的,就必须本身开发,下来咱们就开发了。说一下目的,我要开发的是显示文章的列表样式,和自带的博客样式,默认样式不一样的,找到前台组件 目录components在里面新建一个文件夹就叫作com_more吧,在里面新建文件more.xml这个是打包安装文件,models文件夹是模块 文件夹,views是视图文件夹,controller.php是控制器,more.php是入口文件。开发过程当中咱们能够用 index.php?option=com_more来查看效果,因为这个例子简单,没有更多控制器和视图,因此仍是比较容易理解。最后我会分享给大家插 件开发的教程两本。php

    如今一步一步来,more.xml是安装文件,不是必须的,若是要打包分享别人经过zip上传方式安装才须要,通常工做中没有必要去写那个文件,特别是当文件特多的时候,咱们直接上传开发文件和手动配置数据库一样能够。先来看more.php入口文件吧,html

defined('_JEXEC') or die; jimport('joomla.application.component.helper');require_once( JPATH_COMPONENT.DS.'controller.php' );$controller = new MoreController();$controller->execute(JRequest::getVar('task',null,'default','cmd'));$controller->redirect();

里面的1-3行是每一个组件必须,任何组件都这么写,分别是防止意外加载,载入助手函数,再入控制器文件,4行是建立一个控制器对象,5行是执行任务,最后跳转,MoreController()是采用组建名+controller来命名的,joomla随处可见这种命名方式。数据库

    接着来看controller.php控制器代码app

defined('_JEXEC') or die( 'Restricted access' ); jimport('joomla.application.component.controller');class MoreController extends JController { function display() { parent::display(); } }

很简单吧,就是继承了父类joomla的控制器而已,没啥好说的。复杂一点的事models里面,他是一 个模型,就是处理数据的,他把处理的数据给了views文件夹里面的more下面的view.html.php,在这个文件里面,咱们首先是得到模型,然 后把处理数据的方法返回的数据复制给模版。$this->assignRef('category',    $category);就是赋值给category,这里其实能够不须要模型,咱们直接在这个文件里面写查询数据,而后把值赋给变量,不过就不是MVC 模式了。函数

    最后就是在views\more\tmpl里面default.php的显示文件了,这里就是控制显示效果了,把处理的数 据结果都在这里显示,经过循环,能够取出数据值。这里也是能够写查询语句的,有时候为了开发方便就直接在这里写了,不事后期维护组件的人就不容易看懂了, 怎么作本身看着办吧。在joomla里面查询数据用的最多,因此ui

$db=&JFactory::getDBO(); $query="SELECT * FROM #__content"; $db->setQuery($query);$list=$db->loadObjectList();

 这几句用的最多,几乎开发插件、组件、模块都有可能用到的。最后用循环取出$list值。this

    好了一个组件基本就完成了,最后附上组件完整代码,以及两本开发教程都是中文版的,一本是API讲解,一本是插件组建模块开发。spa

代码下载地址
插件

API下载
code

插件组件教程下载

(原创 by Yoby)

相关文章
相关标签/搜索