我需要将login_id存储到隐藏变量以将其存储在数据库中。我该如何存储?登录后我将login_id存储为$this->getUser()->setAttribute('client_id',$client_id);
我在我的基类中设置了小部件
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'client_id' => new sfWidgetFormInputHidden(array(),array('value'=>'3')),));
如何在我的基类中访问客户端的login_id,还是有其他方法将login_id设置为隐藏变量?请帮我。提前谢谢
答案 0 :(得分:3)
在您的操作中:
$form = new MyForm();
$form->setDefault('client_id', $this->getUser()->getAttribute('client_id'));
答案 1 :(得分:2)
你可以这样做,因为luliandro说或者你可以在表格中做到这一点
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'client_id' => new sfWidgetFormInputHidden()
));
$this->getWidget('client_id')->setDefault(3);
答案 2 :(得分:0)
在您的lib /表单中,您可以这样做:
$this->setWidgets(array(
'example' => new sfWidgetFormInputHidden(array(), array()),
));
度过美好的一天!
贡纳尔
答案 3 :(得分:0)
$this->setWidgets(array(
'id' => new sfWidgetFormInputHidden(),
'client_id' => new sfWidgetFormInputHidden());
sfWidgetFormInputHidden不支持默认值。但是我们可以使用ValidatorChoice设置值:
$this->setValidators(array(
'client_id' => new ValidatorChoice([
'choices' => [3],
'empty_value' => 3,
'required' => FALSE,
])));
我有一个项目的例子:
$this->widgetSchema['portal_id'] = new sfWidgetFormInputHidden([
'default' => [sfContext::getInstance()->getUser()->getAttribute('portal')],
'is_hidden' => true,
]);
$this->validatorSchema['portal_id'] = new sfValidatorChoice([
'choices' => [sfContext::getInstance()->getUser()->getAttribute('portal')],
'empty_value' => sfContext::getInstance()->getUser()->getAttribute('portal'),
'required' => FALSE,
]);
感谢阅读。