我创建了一个 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');
答案 0 :(得分:8)
我自己也有这个问题,而且我已经明白了。查看与admin/controllers/helloworlds.php
对应的文件,应该有以下行:
public function getModel($name = 'HelloWorld', $prefix = 'HelloWorldModel')
第一个参数的默认值是单个项目的名称(在您的情况下,可能是Region
),第二个参数包含组件的名称。所以它应该是:
public function getModel($name = 'Region', $prefix = 'NameOfYourComponentModel')
我希望这对你的情况也有帮助。在HelloWorld示例中,他们在代码中使用HelloWorld
,作为组件的名称和主视图,因此有时很难区分哪一个是什么。