РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
407 of 1361 menu

Функция form_widget

Функция form_widget используется в шаблонах Twig для вывода HTML-разметки поля формы. Первым параметром передаётся представление формы или отдельного поля, полученное из метода createView. Вторым параметром можно передать массив переменных, например attr для добавления HTML-атрибутов. Функция возвращает готовый HTML-код поля.

Синтаксис

{{ form_widget(form) }} {{ form_widget(form.field, { attr: { class: 'abcde' } }) }}

Пример

Давайте создадим простую форму с полем name и выведем её через form_widget:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentFormExtensionCoreTypeTextType; use SymfonyComponentFormExtensionCoreTypeSubmitType; use SymfonyComponentFormFormBuilderInterface; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_form')] public function form(): Response { $form = $this->createFormBuilder() ->add('name', TextType::class) ->add('save', SubmitType::class) ->getForm(); return $this->render('article/form.html.twig', [ 'form' => $form->createView(), ]); } } ?>

Теперь выведем форму в шаблоне:

{{ form_start(form) }} {{ form_widget(form) }} {{ form_end(form) }}

Результат выполнения кода:

<form name="form" method="post"> <div> <label for="form_name">Name</label> <input type="text" id="form_name" name="form[name]"> </div> <div> <button type="submit" id="form_save" name="form[save]">Save</button> </div> </form>

Пример

Давайте выведем только одно поле name и добавим ему CSS-класс:

{{ form_start(form) }} {{ form_widget(form.name, { attr: { class: 'abcde' } }) }} {{ form_widget(form.save) }} {{ form_end(form) }}

Результат выполнения кода:

<form name="form" method="post"> <div> <label for="form_name">Name</label> <input type="text" id="form_name" name="form[name]" class="abcde"> </div> <div> <button type="submit" id="form_save" name="form[save]">Save</button> </div> </form>

Пример

Давайте передадим значение value через переменные:

{{ form_start(form) }} {{ form_widget(form.name, { value: 'abcde' }) }} {{ form_widget(form.save) }} {{ form_end(form) }}

Результат выполнения кода:

<form name="form" method="post"> <div> <label for="form_name">Name</label> <input type="text" id="form_name" name="form[name]" value="abcde"> </div> <div> <button type="submit" id="form_save" name="form[save]">Save</button> </div> </form>

Смотрите также

  • функция form,
    которая выводит всю форму целиком
  • функция form_row,
    которая выводит label, поле и ошибки
  • функция form_label,
    которая выводит только label поля
  • функция form_errors,
    которая выводит ошибки поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить