Я хотел бы иметь доступ к переменной "метка" в
form.postalCode.vars.label
У меня есть объект формы: «форма», и я сделал дамп в ветке:
{{ dump(form.postalCode.vars) }}
Это результат:
array:24 [▼
"value" => ""
"attr" => array:1 [▶]
"form" => FormView {#771 ▶}
"id" => "appbundle_test_name"
"name" => "name"
"full_name" => "appbundle_test[name]"
"disabled" => false
"label" => null
"label_format" => null
"multipart" => false
"block_prefixes" => array:3 [▶]
"unique_block_prefix" => "_appbundle_test_name"
"translation_domain" => null
"cache_key" => "_appbundle_test_name_text"
"errors" => FormErrorIterator {#765 ▶}
"valid" => true
"data" => null
"required" => true
"size" => null
"label_attr" => []
"compound" => false
"method" => "POST"
"action" => ""
"submitted" => false
]
На основе этой документации: https://symfony.com/doc/3.4/reference/forms/twig_reference.html#twig-reference-form-variables Используя переменную «метка», я должен получить доступ к заголовку метки. Мой вопрос в том, почему эта переменная пуста. Я проверил каждое из своих полей в своей форме, и каждая метка этого поля пуста... Но когда я генерирую метку с помощью form_label -> метка создается без проблем.
Вот ваш ответ: вы не установили метку, поэтому vars.label пусто и автоматически генерируется (специально) внутри блока меток, например: {{ vars.label ?: generate(vars.name) }}




Я думаю, что вам нужно сначала добавить метку к полю postalCode в конструкторе форм, что-то вроде этого
$builder = $this->add('postalCode', TextType::class, ['label' => 'Post code']);
Покажите нам код FormType, который загружает эту форму. Тогда можно ответить на этот вопрос. По-моему, вы не установили метку в FormType.