Joomla默认后端控制器

时间:2013-09-28 16:10:49

标签: php joomla joomla3.0 joomla3.1

我正在关注Joomla的“开发MVC组件”。

在对前端进行编码时,com_helloworld\site\controller.php中的默认控制器保留为空,如下所示

\\----com_helloworld\site\controller.php----

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

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

/**
 * HelloWorld Component Controller
 */
class HelloWorldController extends JControllerLegacy
{

}

这是因为,如果保留为空,则默认行为是调用JControllerLegacy类的display()函数,该函数默认情况下会调用视图com_helloworld\site\views\helloworld\view.html.php

现在我已经达到了本教程的第7部分。在这里,我们将开始编写管理员后端。

但是现在,com_helloworld\admin\controller.php不仅仅是一个空类。它作为自己的display()函数。

\\---com_helloworld\admin\controller.php----

<?php
// No direct access to this file
defined('_JEXEC') or die('Restricted access');

// import Joomla controller library
jimport('joomla.application.component.controller');

/**
 * General Controller of HelloWorld component
 */
class HelloWorldController extends JControllerLegacy
{
        /**
         * display task
         *
         * @return void
         */
        function display($cachable = false, $urlparams = false) 
        {
                // set default view if not set
                $input = JFactory::getApplication()->input;
                $input->set('view', $input->getCmd('view', 'HelloWorlds'));

                // call parent behavior
                parent::display($cachable);
        }
} 

如果我们也将此课程留空,会发生什么?它会从helloworld文件夹中调用默认的admin\views\视图吗?

另外,我刚看到存在一个名为JControllerAdmin的joomla类。我应该将它用于我的后端吗? Joomla文档中提供的教程适用于Joomla 2.5。他们没有完全专注于Joomla 3.0的教程。

0 个答案:

没有答案