@Radarchik

Как переписать переменную из своего типа поля?

Создаю свой тип поля, наследуемый от CheckBoxType
getParent = CheckboxType::class
getBlockPrefix = mycheckbox
В опциях завожу новую переменную my_label

В шаблоне поля:
{% block mycheckbox_widget %}
  {% set label = my_label %}
  {{ block('checkbox_widget') }}
{% endblock %}

Но моя надпись не выводится в checkbox, как быть?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 2
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Опции не доступны во view. Для этого надо добавить следующий код:
CheckBoxType:
/**
 * @inheritDoc
 */
public function buildView(FormView $view, FormInterface $form, array $options)
{
    $view->vars['my_label'] = $options['my_label'];
    // Либо сразу
    // $view->vars['label'] = $options['my_label'];
}
Ответ написан
@Radarchik Автор вопроса
{% block mycheckbox_widget %}
  {{ block('checkbox_widget') }}
{% endblock %}

{% block mycheckbox_label %}
  {% set label = my_label %}
  {{ block('checkbox_label') }}
{% endblock %}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы