symfony - установите в ветке choice_label вместо formbuilder - PullRequest
0 голосов
/ 29 апреля 2019

Я использую formbuilder для рендеринга выпадающего поля.

        ->add('location', EntityType::class, [
            'class' => location::class,
            'choice_label' => 'title',
            'query_builder' => function (EntityRepository $er) {
                return $er->createQueryBuilder('u')
                    ->orderBy('u.id', 'ASC');
            },
                         'attr'=>array('class'=>'customdata')

        ])

и затем в ветке я рендерил следующее {{ form_widget(form.location }) }}

И это отлично работает. Тем не менее, я хочу установить choice_label в самом файле ветки (я хочу сделать оператор if else для choicelabelname).

Я читал о {{ form.task.vars.id }} здесь https://symfony.com/doc/4.1/form/rendering.html

Так что я подумал, что могу, может быть, сделать что-то вроде этого

{{ form_widget(form.location, { 'choice_label': form.location.vars.id }) }}

Но это не работает (я все еще получаю название). Может быть, у меня нет строки правильно. Или это вообще возможно? или нет для выпадающего поля?

Заранее спасибо!

--------- редактировать ----------------------

так что я заметил, что я на самом деле сгенерировал поле выбора неправильно.

Symfony2 / Twig - перебирать опции выбора . и я нашел некоторую информацию, чтобы получить поле сущности. Symfony2: доступ к полям сущностей в Twig с типом поля сущности

<select  data-width="100%">
    {% for key,val in form.locationmoi.vars.choices %}
        <option value="{{ val.value }}" {{  form.locationmoi.vars.value == '' and key == 0 ? ' selected ' :(val.value == form.locationmoi.vars.value ? ' selected ' : '') }}>{{ form.locationmoi.vars.choices[key].data.title }} </option>
    {% endfor %}
</select>

Однако, это поле генерируется 2 раза. 1, как я хочу, и 1 стандарт .. я также использую {{form_start (форма)}} {{form_end (форма)}}. Также генерируется мой пользовательский labeltitle, но это потому, что у меня есть дублированное поле. он берет название из дубликата ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...