使用 Symfony 1.4 和 Propel 将变量传递给表单

Pass a variable to a form using Symfony 1.4 and Propel

我需要使用 Symfony 1.4 和 Propel 将变量从动作 class 传递到表单。

我试过这里列出的方法:Pass a variable to a Symfony Form 我认为这是一种适用于 Doctrine 的方法,但不适用于 Propel。

这是我试过的:

行动class:

$this->saved_cart_form = new ItemSavedCartForm(array(), array('user_id' => $user_id));

表格(抓取变量的行):

$this->getOption('user_id');

这没有用,也没有太多文档,但我相信您需要通过表单构造函数传递选项,我不知道该怎么做。

我通过向表单添加构造函数并通过操作将变量传递给它来解决这个问题。

操作:

$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 可在整个表格 class 中使用。如果有人可以找到有关通过 Symfony 1.4 和 Propel 执行此操作的其他方法的文档或文章,请分享 - 我很想看到其他解决方案。