protected function addToolBar()
{
JToolBarHelper::title(JText::_('COM_HELLOWORLD_MANAGER_HELLOWORLDS'), 'helloworld');
JToolBarHelper::deleteListX('', 'helloworlds.delete');
JToolBarHelper::editListX('helloworld.edit');
JToolBarHelper::addNewX('helloworld.add');
}
此语法中的错误是什么
答案 0 :(得分:3)
根据Joomla docs,类JToolBarHelper在
中定义但是,该课程中没有这样的方法。检查提交历史记录表明该方法已在
中删除因此,如果您收到此错误,则代码是为旧版本的Joomla编写的。
deleteListX
的代码是:
/**
* Writes a common 'delete' button for a list of records.
* Extended version of deleteList() calling hideMainMenu() before Joomla.submitbutton().
*
* @param string $msg Postscript for the 'are you sure' message.
* @param string $task An override for the task.
* @param string $alt An override for the alt text.
* @since 1.0
* @deprecated
*/
static function deleteListX($msg = '', $task = 'remove', $alt = 'JTOOLBAR_DELETE')
{
self::deleteList($msg, $task, $alt);
}
正如您所看到的那样,它只是将对deleteList
的调用包裹起来,而这被定义为
/**
* Writes a common 'delete' button for a list of records.
*
* @param string $msg Postscript for the 'are you sure' message.
* @param string $task An override for the task.
* @param string $alt An override for the alt text.
* @since 1.0
*/
public static function deleteList($msg = '', $task = 'remove', $alt = 'JTOOLBAR_DELETE')
所以你可以替换你的
JToolBarHelper::deleteListX('', 'helloworlds.delete');
直接通话
JToolBarHelper::deleteList('', 'helloworlds.delete')
请注意,editListX
和addNewX
也已被删除。所以你会得到同样的错误。检查已删除的源代码并根据需要调整方法。