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



在Symfony 4应用程序中的一个小树枝表单模板中,我需要有一个带变量的属性。

示例:

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

我需要在"数据滑块值"中放入一个变量,而不是手动值。

我试过了:

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

但它不起作用。。。

{{variable}}单独返回了我需要放入"数据滑块值"中的值。

第二次尝试:

我有扩展窗体类"TextType"方法buildView。为此,我添加了以下文件:src/Form/Extension/TextTypeExtension.php

// src/Form/Extension/TextTypeExtension.php
namespace AppFormExtension;
use SymfonyComponentFormAbstractTypeExtension;
use SymfonyComponentFormExtensionCoreTypeFileType;
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;
}
}

但现在我不确定如何在我的表单模板中使用它。。。

非常感谢你帮助我。

Alex

扩展表单的类方法buildView:

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

最新更新