Запретить отображение полей формы

1

Я пытаюсь контролировать рендеринг полей пароля в зависимости от того, редактирую ли я пользователя или создаю его. Я делаю это с простой логической переменной сеанса следующим образом:

{{ form_start(userForm) }}
    {{ form_errors(userForm) }}

    <div id="user-fg-email" class="form-group">
        {{ form_label(userForm.email) }}
        {{ form_errors(userForm.email) }}
        {{ form_widget(userForm.email) }}
    </div>

    {% if app.session.get('editingUser') == false %}
        <div id="user-fg-pp1" class="form-group">
            {{ form_label(userForm.plainPassword.first) }}
            {{ form_widget(userForm.plainPassword.first) }}
        </div>

        <div id="user-fg-pp2" class="form-group">
            {{ form_label(userForm.plainPassword.second) }}
            {{ form_errors(userForm.plainPassword.first) }}
            {{ form_widget(userForm.plainPassword.second) }}
        </div>
    {% endif %}

    <div id="user-fg-role" class="form-group">
        {{ form_label(userForm.role) }}
        {{ form_errors(userForm.role) }}
        {{ form_widget(userForm.role) }}
    </div>

    <button type="submit" class="btn btn-primary pull-right">Submit</button>

{{ form_end(userForm) }}

Однако, когда этот логический объект оценивается как истинный, который должен предотвращать визуализацию этих полей, они все равно визуализируются с помощью следующего тега form_end.

Есть ли способ предотвратить это?

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

если editUser == true, поля пароля фактически отображаются после кнопки, поэтому мое предположение сделало это тегом form_end.

  • 0
    Вы используете {else} или {elseif} перед {endif} ? как объяснено здесь: twig.sensiolabs.org/doc/tags/if.html
  • 0
    Нет, только то, что вы видите там. Я обновлю свой вопрос дополнительным блоком кода, содержащим всю форму.
Показать ещё 3 комментария
Теги:
forms
twig

1 ответ

0

Поскольку вы должны указать Twig, чтобы не отображать все остальные поля, которые явно не отображаются в форме: http://symfony.com/doc/current/reference/forms/twig_reference.html#form-end-view- переменные

{{ form_end(form, {'render_rest': false}) }}  

Ещё вопросы

Сообщество Overcoder
Наверх
Меню