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

Функция form_parent

Функция form_parent возвращает объект родительской формы относительно переданной формы. Это бывает нужно, когда форма вложена в другую форму или когда необходимо получить доступ к данным родителя из дочернего шаблона. Функция принимает один параметр - форму, для которой нужно найти родителя. Если родителя нет, функция вернёт null.

Синтаксис

{{ form_parent(form) }}

Пример

Давайте создадим форму с вложенной формой и получим родителя для дочерней формы:

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

Теперь выведем имя родительской формы для дочерней формы:

{% set parent = form_parent(form.child) %} <p>{{ parent.vars.name }}</p>

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

"form"

Пример

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

{% set parent = form_parent(form) %} {% if parent is null %} <p>no parent</p> {% endif %}

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

"no parent"

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

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