我需要使用Symfony 1.4和Propel将一个变量从一个动作类传递给一个表单。
我尝试过此处列出的方法:Pass a variable to a Symfony Form 我认为这是一种适用于Doctrine的方法,但不适用于Propel。
这是我尝试过的:
动作类:
$this->saved_cart_form = new ItemSavedCartForm(array(), array('user_id' => $user_id));
表单(行到抓取变量):
$this->getOption('user_id');
这没用,而且没有太多文档,但我相信你需要通过表单构造函数传递选项,我不知道该怎么做。
答案 0 :(得分:1)
我通过向表单添加构造函数并通过操作将变量传递给它来解决了这个问题。
动作:
$this->saved_cart_form = new ItemSavedCartForm($this->getUser()->getUserId());
形式:
class ItemSavedCartForm extends myFormHorizontal
{
protected $user_id = null;
public function __construct($user_id = null)
{
$this->user_id = $user_id;
parent::__construct();
//rest of class...
}
之后,$this->user_id
在整个表单类中都可用。如果有人可以通过Symfony 1.4和Propel找到有关其他方法的文档或文章,请分享 - 我很想看到其他解决方案。