0

我正在关注 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
{

}

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

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

但是现在,thecom_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 2.5。他们没有完全专注于 Joomla 3.0 的教程。

4

0 回答 0