在symfony1.4中的ClassGeneratorConfiguration中访问会话变量

时间:2013-08-18 07:36:54

标签: symfony-1.4

有没有办法从symfony1.4中的ClassGeneratorConfiguration访问会话变量? 我需要它,因为我想根据会话变量设置默认过滤器字段值。

2 个答案:

答案 0 :(得分:2)

您可以从上下文中获取它(我认为没有其他方法),您可以使用getFilterDefaults方法为字段设置默认值或使用getFilterFormOptions到{{ 3}}并在那里实现逻辑。这就是我通常的做法:

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

答案 1 :(得分:0)

您可以访问会话变量,如下所示:

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