0

symfony1.4 で ClassGeneratorConfiguration からセッション変数にアクセスする方法はありますか? セッション変数に応じてデフォルトのフィルターフィールド値を設定したいので必要です。

4

2 に答える 2

2

コンテキストから取得できます(他に方法はないと思います)。getFilterDefaultsメソッドを使用してフィールドのデフォルト値を設定するか、 を使用してユーザーをオプションとしてフォームgetFilterFormOptionsに渡し、そこにロジックを実装します。これは私が通常行う方法です:

class productGeneratorConfiguration extends BaseProductGeneratorConfiguration
{
  /**
   * @return sfBasicSecurityUser
   */
  public function getUser()
  {
    return sfContext::getInstance()->getUser();
  }

  public function getFilterFormOptions()
  {
    return array('user' => $this->getUser());
  }

  public function getFilterDefaults()
  {
    return array(
      'some_field' => $this->getUser()->getSomething() ? 'a' : 'b';
    );
  }
}
于 2013-08-18T09:23:32.850 に答える
0

次のようにセッション変数にアクセスできます。

$varname = sfContext::getInstance->getUser()->getAttribute('your_field');

于 2013-09-08T16:59:02.110 に答える