Symfony 1.4 - Как установить значения по умолчанию для sfWidgetFormChoice (флажки) - PullRequest
4 голосов
/ 21 марта 2012

Следующий код создает поле с несколькими флажками.Как установить значения по умолчанию для этих флажков?

new sfWidgetFormChoice(array(
 "choices" => $choices,
 "label" => "Label",
 "multiple" => true,
 "expanded" => true
));

Ответы [ 2 ]

5 голосов
/ 21 марта 2012

Вы можете установить значения по умолчанию вручную:

$countries = array(
    'Spain',
    'England',
    'France'
);

$this->widgetSchema['countries'] = new sfWidgetFormChoice(array('choices' => $countries, 'multiple' => true, 'expanded' => true));

// Form will render with Spain and England pre-selected
$this->widgetSchema['countries']->setDefault(array(0,1));

Если объект, с которым связана форма, не является новым, значения по умолчанию будут предварительно выбраны на основе сохраненных значений, поэтому вам может потребоваться добавить проверку $this->getObject()->isModified() вокруг последней строки.

0 голосов
/ 31 июля 2014

Если у вас есть форма с виджетом, выберите

$this->widgetSchema['example_select_export'] =  new sfWidgetFormChoice(array(
                                        'multiple' => false,
                                        'expanded' => false,
                                        'choices' => array("csv" => "CSV", "excel" => "Excel", "csv_mac" => "CSV mac")

                                );
$choices = array("csv" => "CSV", "excel" => "Excel", "csv_mac" => "CSV mac");

Вы можете установить значение по умолчанию в действии, в котором вы создали свою форму, вызвать это

$this->form->setDefault('example_select_export','csv')

Или, если хотите, просто закажите свой выбор в том порядке, в котором вы хотите, чтобы он отображался

...