教程栏目

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章 页面构造器