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

Функция form_row

Функция form_row в Twig-шаблоне выводит полный ряд поля формы: метку, сам виджет ввода и сообщения об ошибках. Первым параметром передаётся переменная поля формы, вторым - массив переменных для тонкой настройки вывода. Функция возвращает готовую HTML-разметку ряда.

Синтаксис

{{ form_row(field, variables) }}

Пример

Давайте создадим простую форму с полем name и выведем его через form_row. Сначала создадим контроллер:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\Form\Extension\Core\Type\TextType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class FormController extends AbstractController { #[Route('/form', name: 'form_index')] public function index(Request $request): Response { $form = $this->createFormBuilder() ->add('name', TextType::class) ->add('save', SubmitType::class) ->getForm(); $form->handleRequest($request); return $this->render('form/index.html.twig', [ 'form' => $form->createView(), ]); } } ?>

Теперь выведем поле name через form_row в шаблоне:

{{ form_start(form) }} {{ form_row(form.name) }} {{ form_row(form.save) }} {{ form_end(form) }}

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

<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>

Пример

Давайте передадим переменную label вторым параметром, чтобы изменить текст метки поля:

{{ form_start(form) }} {{ form_row(form.name, {'label': 'User name'}) }} {{ form_row(form.save) }} {{ form_end(form) }}

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

<div> <label for="form_name">User 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>

Пример

Давайте скроем метку поля, передав параметр label со значением false:

{{ form_start(form) }} {{ form_row(form.name, {'label': false}) }} {{ form_row(form.save) }} {{ form_end(form) }}

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

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

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

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