2015-08-11 3 views
0

Мне нужно передать переменную из класса действия в форму с помощью Symfony 1.4 и Propel.Передача переменной в форму с помощью Symfony 1.4 и Propel

Я пробовал метод, указанный здесь: Pass a variable to a Symfony Form , который, я считаю, является методом, который работает с Доктриной, но не Propel.

Это то, что я пробовал:

Класс действий:

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

формы (линия, чтобы захватить переменную):

$this->getOption('user_id'); 

Это не сработало, и там ISN 't много documentaion, но я считаю, что вам нужно передать параметры через функцию конструктора форм, которую я не знаю, как это сделать.

ответ

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, пожалуйста, поделитесь - мне было бы очень интересно увидеть другие решения.

+0

Работает для меня ... Приветствия –

Смежные вопросы