Имея Место как:Symfony изменение ChoiceType имени множественный вход расширен
id name title
--- ----- ------
1 usa United States of America
2 uk United Kingdom
3 canada Canada
У меня есть ** ** EntityType поле формы, названный место:
class OrderType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('location', EntityType::class, array(
'class' => Location::class,
'choice_label' => 'title',
'choice_name' => 'name',
'choice_value' => 'id',
'multiple' => true,
'expanded' => true,
'data' => array(
'usa', 'canada'
),
));
}
}
и я хочу например, некоторые флажки (EntityType
, multiple=true
, expanded=true
) проверены (с использованием опции data
).
Я установил choice_name
вариант имени местоположения, но атрибут поля формы name
не изменяется.
HTML
<input type="checkbox" id="order_location_usa" name="order[location][]" value="1">
<input type="checkbox" id="order_location_uk" name="order[location][]" value="2">
<input type="checkbox" id="order_location_canada" name="order[location][]" value="3">
Что мне не хватает?
В чем вопрос? установить значения по умолчанию или изменить имя входа? – yceruto
установка значений по умолчанию (проверка флажков), что, я думаю, может быть сделано с использованием параметра данных. Для параметра данных нужен массив избранных имен, я думаю, не уверен – Trix
Чтобы показать данные по умолчанию, я предлагаю вам использовать объект привязки к форме вместо опции '' data'' (это может переопределить ее). Однако это должно работать с массивом экземпляров «Местоположение» вместо массива строки. – yceruto