Шаблон формы TWIG: переменная вызова в атрибуте - PullRequest
0 голосов
/ 22 апреля 2020

В шаблоне формы ветки в приложении Symfony 4 мне нужно иметь атрибут с переменной.

Пример:

{{ form_widget(myform.field, {'attr': {'class': 'bidding-slider','data-slider-value': '800'}}) }}

Мне нужно поместить переменную в 'data -slider-value 'вместо ручного значения.

Я пытался:

{{ form_widget(myform.field, {'attr': {'class': 'bidding-slider','data-slider-value': '{{ variable }}'}}) }}

, но это не работает ...

{{variable}} один возврат ну, значение, которое мне нужно поместить в «data-slider-value».

Вторая попытка:

У меня есть расширенный класс формы «TextType», метод buildView. Для этого я добавил этот файл: src / Form / Extension / TextTypeExtension. php

// src/Form/Extension/TextTypeExtension.php
namespace App\Form\Extension;

use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\FileType;

    class TextTypeExtension extends AbstractTypeExtension
{
    /**
     * Return the class of the type being extended.
     */
    public static function getExtendedTypes(): iterable
    {
        // return FormType::class to modify (nearly) every field in the system
        return [TextType::class];
    }

    public function buildView(FormView $view, FormInterface $form, array $options)
    {
    $tjm = $form->get('dailyrate')->getData();
    $view->vars['attr']['data-slider-value'] = $tjm;
    }
}

Но сейчас я не уверен, как использовать это в моем шаблоне формы ...

Большое спасибо за помощь.

Алекс

1 Ответ

0 голосов
/ 22 апреля 2020

Расширьте метод класса вашей формы buildView:

public function buildView(FormView $view, FormInterface $form, array $options)
{
    $view->vars['attr']['data-slider-value'] = ...// 
}
...