Joomla中的后端操作';不起作用


Backend action in Joomla doesn't work

当我创建操作并点击它时,我会得到js错误

未捕获的类型错误:无法读取未定义(chrome中)的属性"task"
TypeError:b未定义(在ff中)

我的代码是:

view.html.php

<?// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.application.component.view');

class ObshViewObsh extends JView
{
    function display($tpl = null)
    {
        $task = JRequest::getVar('task', '');
        switch($task){            
            case 'config': $this->config();break;
            default: $this->windows();
        }
        parent::display($tpl);
    }
    function windows(){
        JToolBarHelper::title( JText::_( 'Общежития' ), 'generic.png' ); 
        JToolBarHelper::custom('config','options','','Настройки',false); //<<< --- this link doesn't work
    }
     function config(){
        JToolBarHelper::title( JText::_( 'Общежития - настройка компонента' ), 'generic.png' );
        JToolBarHelper::apply('edit_config');
        JToolBarHelper::cancel('cancel');    
    }          
}

controller.php

<?php
 error_reporting(E_ALL);
// No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.application.component.controller');

class ObshController extends JController
{       
    function config(){
        JRequest::setVar( 'view', 'obsh' );
        JRequest::setVar( 'layout', 'config'  );
        JRequest::setVar( 'hidemainmenu', 1 );
        parent::display();
    }        
}

答案非常简单。。。

我忘了在视图中添加表单

<form action="index.php" method="post" name="adminForm">
    something
    <input type="hidden" name="option" value="com_obsh" />
    <input type="hidden" name="task" value="" />
    <input type="hidden" name="boxchecked" value="0" />
</form>