教程栏目

joomla中文网出品的官方教程

在本节中我们将在后台显示我们的第一个后台页面。并分析后台的执行过程。

在joomla中,后台的执行流程和前台基本一样,也是MVC模式开发的。有了前台开发的经验,后台就不是大问题了。

直接看代码:

后台的入口点文件 guestbook.php(.注意以下所说的文件都是administrator/components/com_guestbook/目录下的)

 
defined('_JEXEC') or die('you can not access this file!');
// import joomla controller library
jimport('joomla.application.component.controller');

// get an instance of the controller prefixed by guestbook
$controller = JController::getInstance('Guestbook');

$jinput = JFactory::getApplication()->input;
$task = $jinput->get('task',"",'STR');

// perform the request task
$controller->execute($task);

// redirect if set by controller
$controller->redirect();

这里的执行流程和前台一样,只是代码我们采用新的书写方式(这种方式在2.5的开发中比较推荐,当然,我们以前的方式也是可以用的)

首 先调用JController类的getInstance方法得到主控制器。JController::getInstance()方法接受两个参数,一 个是控制器的前缀,另一个是一个可选的配置数组。这个方法将会在JPATH_COMPONET下寻找控制文件。(有待补充)

然后通过调用代码:

$jinput = JFactory::getApplication()->input;得到JInput对象。调用JInput对象的get方法得到需要执行的任务。

入口点文件产生有了之后,就是新建一个控制器文件。

新建文件controller.php文件

controller.php文件的内容为:

 
<?php
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.controller');

class GuestBookController extends JController
{
	function display($cachable = false,$urlparams = false)
	{
		// set default view if not set
		$input = JFactory::getApplication()->input;
		$input ->set('view',$input->getCmd('view','messagelist'));
		
		//call parent behavior
		parent::display($cachable);
	}
}

代码没什么好讲的。我们控制器类的display方法中使用了$input->set()来指定需要展示的视图为messaglist.(也就是显示一个消息列表的视图。)

建立视图的方法和前台一样。

新建views/messageslist/view.html.php文件

view.html.php内容如下:

 

defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.view');

class GuestBookViewMessageList extends JView
{
     // messagelist view display method
     function display($tpl = null)	 
	 {
		//display the template
		parent::display($tpl);
	 }
}

视图文件有了之后就是输出默认的布局文件了。

在messagelist视图下新建文件夹tmpl.在tmpl下新建default.php文件。代码如下:

Welcome to www.Zmax99.com

到此,我们就完成了入口点文件,控制器文件,视图类文件和视图模版文件。

看一下执行效果吧:

 

说明我们的组件在管理后台成功执行了。美中不足的是有一个小小的警告。

这不是我们代码的问题,这是joomla自身的问题。解决方案请访问论坛:

http://www.zmax99.com/forum/component-develop/32-notice-undefined-property-jadministrator-jcomp

 

 

 

评论 (0)

  • 最新在前
  • 最佳在前

第1章 Joomla入门教程

第3章 C计划

第5章 E计划

第6章 H计划

第7章 G计划

第9章 运行环境

第11章 主从与集群

第12章 模块开发

第13章 插件开发

第14章 j2.x组件开发教程

第15章 页面定制教程

第16章 页面构造器

第17章 joomla升级

第18章 其他系统迁移

第19章 流量翻倍计划