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');

メソッドはその Application クラスでgetUserStateFromRequest定義されているため、このメソッドにアクセスする場合は、このように使用する必要があります。

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

参考までに、$this変数はローカル オブジェクトです。

于 2012-12-07T09:55:12.680 に答える