Установка атрибута по умолчанию для выбора формы - PullRequest
0 голосов
/ 21 сентября 2011

Я пробовал это это решение, но оно кажется не работать в Symfony 1.4.Что-то изменилось?Как добавить выбранный атрибут в форму выбора?

Вот мой класс формы:

// /lib/form/doctrine/CurrencyListForm.class.php

class CurrencyListForm extends BaseCurrencyForm
{
  public function configure()
  {

    $choices = '';

    $choice = Doctrine::getTable('currency')
        ->createQuery('a')
        ->execute();

    foreach($choice as $v) 
        $choices[$v->getCurrencyCode()] = $v->getCurrencyCode(); 

    $this->setWidgets(array( 
        'currency_code' => new sfWidgetFormSelect(array('choices' => $choices)), 
    ));

  }

}

И вот как я его создаю:

$this->form = new CurrencyListForm();

1 Ответ

1 голос
/ 21 сентября 2011

Какую форму вы предоставляете? Если это объектная форма (например, sfFormDoctrine), привязка «возвращает» значения по умолчанию. (Устанавливает значения по умолчанию для модели).

То, что я обнаружил, было самым простым способом связать его: создать фиктивный объект и установить свойство для этого объекта. Затем передайте этот объект конструктору формы.

Примерно так:

$defaultCurrency = new Currency();
$defaultCurrency->currency_code = 'EUR';
$this->form = new CurrencyListForm($defaultCurrency);
...