Joomla组件开发:无效的控制器:name ='',format =''

时间:2012-10-11 12:46:15

标签: joomla components

我正在尝试从here开发组件。我在管理部分收到错误

  

500 - 发生了错误。

     

控制器无效:name ='',format =''

如何调试?我甚至不知道哪些代码与帖子相关。

文件:admin / controller.php

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

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

class TestimonialsController extends JController {
    function display($cachable = false) {
        // set default view if not set
        JRequest::setVar('view', JRequest::getCmd('view', 'Testimonials'));

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

文件:admin / testimonials.php

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

jimport('joomla.application.component.controller');
$controller = JController::getInstance('Testimonials');
$controller->execute(JRequest::getCmd('task'));
$controller->redirect();

文件:admin / views / testimonials / view.html.php

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

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

class TestimonialsViewTestimonials extends JView {
    function display($tpl = null) {
            $items = $this -> get("Items");
            $pagination = $this -> get("Pagination");

            //Check for errors
            if (count($errors = $this->get('Errors'))) 
            {
                JError::raiseError(500, implode('<br />', $errors));
                return false;
            }

            // Assign data to the view
            $this -> items = $items;
            $this -> pagination = $pagination;

            // Display the template
            parent::display($tpl);

    }
}

1 个答案:

答案 0 :(得分:12)

@mrN:xml文件怎么样?您可以验证&lt; files&gt; 部分是否包含所有档案。

文件丢失时出现错误500的示例:

<!-- file testimonials.xml -->
<!-- ERROR 500 because <em>admin/controller.php</em> is not installed -->
...
<administration>
    <!-- Administration Menu Section -->
    <menu>Testimonials</menu>
    <!-- Administration Main File Copy Section -->
    <!-- Note the folder attribute: This attribute describes the folder
         to copy FROM in the package to install therefore files copied
         in this section are copied from /admin/ in the package -->
    <files folder="admin">
    <!-- Admin Main File Copy Section -->
        <filename>index.html</filename>
        <filename>testimonials.php</filename>
        <!-- SQL files section -->
        <folder>sql</folder>
    </files>
</administration>
...