it-swarm.dev

モジュールのJoomlaアクセス状態変数

Joomlaモジュールの状態変数にアクセスするにはどうすればよいですか?

通常私はそれを好きです

$app = JFactory::getApplication();
$variable = $app->getUserState('com_mycomponent.view.filter.variable' ,'default');

ただし、モジュールでは結果は空になるか、この場合はデフォルト値になります。

モジュールには選択フィールドがあります。ページを送信した後、選択した値を再度表示するには、選択の入力を保存する必要があります。これがないと、ページを送信した後に選択フィールドがリセットされます。

5
Perino

あなたのコードは正しいです-私はJoomla 3のカスタムモジュールで自分でテストしました。Cookieが有効になっていることを確認してください。あなたのモジュールでこれを試してみてください、それが機能することがわかります:

$app = JFactory::getApplication();
$app->setUserState('com_mycomponent.view.filter.variable' ,'new state');
$variable = $app->getUserState('com_mycomponent.view.filter.variable' ,'default');
echo $variable;

'new state'を出力するはずです(私のテスト環境ではそうです)。そうでない場合は、Cookieが無効になっているか、サーバーでセッション変数が無効になっているか、インストールに何か問題がある可能性があります...

「新しい状態」が出力される場合は、取得する前に状態を設定していることを確認してください。詳細については、こちらをご覧ください: http://docs.joomla.org/How_to_use_user_state_variables

6
Sam