有没有办法从symfony1.4中的ClassGeneratorConfiguration访问会话变量? 我需要它,因为我想根据会话变量设置默认过滤器字段值。
答案 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');