在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;
}
}
但是现在我不确定在表单模板中使用它的方式...
非常感谢您对我的帮助。
亚历克斯
扩展表单的类方法buildView
:
public function buildView(FormView $view, FormInterface $form, array $options)
{
$view->vars['attr']['data-slider-value'] = ...//
}