TWIG表单模板:attr中的调用变量

问题描述 投票:0回答:1

在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 }}'}}) }}

但是它不起作用...

{{{变量}}仅返回了我需要在'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;
    }
}

但是现在我不确定在表单模板中使用它的方式...

非常感谢您对我的帮助。

亚历克斯

twig symfony4 attr
1个回答
0
投票

扩展表单的类方法buildView

public function buildView(FormView $view, FormInterface $form, array $options)
{
    $view->vars['attr']['data-slider-value'] = ...// 
}
© www.soinside.com 2019 - 2024. All rights reserved.