4

我创建了一个Joomla 2.5自定义组件并将数据加载到管理员端的网格中。所有数据加载、添加和编辑工作良好。但删除不起作用。它给出了以下错误。

Fatal error: Call to a member function delete() on a non-object in 
C:\wamp\www\Joomla\libraries\joomla\application\component\controlleradmin.php on line 131

在视图类中,我用于JToolBarHelper删除操作如下。

JToolBarHelper::deleteList('', 'regions.delete', 'JTOOLBAR_DELETE'); 
4

1 回答 1

8

我自己也遇到过这个问题,我刚刚弄明白了。查看对应的文件admin/controllers/helloworlds.php,应该有这一行:

public function getModel($name = 'HelloWorld', $prefix = 'HelloWorldModel')

第一个参数的默认值是单个项目的名称(在您的情况下,可能是Region),第二个参数包含组件的名称。所以应该是:

public function getModel($name = 'Region', $prefix = 'NameOfYourComponentModel')

我希望这对您的情况也有帮助。在 HelloWorld 示例中,它们使用HelloWorld了整个代码,既作为组件的名称,又作为主视图,因此有时很难区分哪一个是什么。

于 2014-01-19T00:28:40.167 回答