Функция field_label
Функция field_label используется в шаблонах Twig для вывода метки (label) отдельного поля формы. Первым параметром передаётся объект поля формы (обычно полученный через form.<имя_поля> или из переменной формы). Вторым необязательным параметром можно передать текст метки, который переопределит значение, заданное при создании формы. Функция возвращает HTML-код тега label с текстом метки.
Синтаксис
{{ field_label(field, label|default(null)) }}
Пример
Давайте создадим простую форму с полем name и выведем его метку в шаблоне:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentFormExtensionCoreTypeTextType;
use SymfonyComponentFormFormBuilderInterface;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$form = $this->createFormBuilder()
->add('name', TextType::class, [
'label' => 'Article name',
])
->getForm();
return $this->render('article/index.html.twig', [
'form' => $form,
]);
}
}
?>
Теперь выведем метку поля в Twig-шаблоне:
{{ field_label(form.name) }}
Результат выполнения кода:
<label for="form_name">Article name</label>
Пример
Давайте переопределим текст метки прямо в шаблоне, передав второй параметр:
{{ field_label(form.name, 'Custom label') }}
Результат выполнения кода:
<label for="form_name">Custom label</label>
Пример
Давайте выведем метку для поля email, созданного с типом EmailType:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentFormExtensionCoreTypeEmailType;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$form = $this->createFormBuilder()
->add('email', EmailType::class, [
'label' => 'User email',
])
->getForm();
return $this->render('article/index.html.twig', [
'form' => $form,
]);
}
}
?>
Выведем метку в шаблоне:
{{ field_label(form.email) }}
Результат выполнения кода:
<label for="form_email">User email</label>
Смотрите также
-
функция
form_label,
которая выводит метку формы целиком -
функция
field_value,
которая выводит значение поля формы -
функция
field_errors,
которая выводит ошибки поля формы -
функция
field_help,
которая выводит подсказку для поля формы