0

我正在按照示例在 Joomla 2.5 管理组件中实现自定义过滤器。

但是我在模型populateState方法中遇到错误:

调用未定义的方法 somecompModelsomecomp::getUserStateFromRequest()。

$app = JFactory::getApplication('administrator');
// Load the filter state.
$search = $this->getUserStateFromRequest($this->context.'.filter.search', 'filter_search');

getUserStateFromRequest如果我使用以下方法调用,错误就会消失$app

$app->getUserStateFromRequest($this->context.'.filter.search', 'filter_search');

所以有什么问题?在默认的 Joomla 组件中,我看到它使用相同的方法并且可以正常工作。也许我错过了我的模特课上的一些东西?

有任何想法吗?

4

1 回答 1

2

发生这种情况是因为$app它是您的应用程序类的对象。正如您在代码中定义的那样。

$app = JFactory::getApplication('administrator');

getUserStateFromRequest方法是在那个应用程序类中定义的。所以如果你想访问这个方法,你必须像这样使用它。

$app->getUserStateFromRequest($this->context.'.filter.search', 'filter_search');

对于您的信息$this变量是您的本地对象。

于 2012-12-07T09:55:12.680 回答