在树枝模板中设置文本区域值

时间:2018-07-21 09:22:16

标签: twig symfony-2.8

我需要为表单设置值以进行编辑。我需要在textarea中设置文本。我尝试在html.twig文件中关注

<div class="form-group">
      {{ form_widget(blog_form.post_subheading1, { 'attr': {'class': 'form-control', 'placeholder': 'Enter Subheading 1', 'value': post_data.postSubheading1 } }) }}
      {{ form_errors(blog_form.post_subheading1) }}
    </div>

在上述情况下,值被添加为属性,但未在textarea中显示(我看到它仅是检查元素)。

 <div class="form-group">
          {{ form_widget(blog_form.post_subheading1, {'value': post_data.postSubheading1 }, { 'attr': {'class': 'form-control', 'placeholder': 'Enter Subheading 1'} }) }}
          {{ form_errors(blog_form.post_subheading1) }}
        </div>

在上述情况下可以看到文本,但是缺少类和其他属性。我需要课和课文。如何存档?文字类型没有这个问题。仅用于文本区域。

这是我的类型文件,

 ->add('post_intro', 'textarea', array(
                'attr' => array('cols' => '5', 'rows' => '6'),
                'required' => false
                )) 

1 个答案:

答案 0 :(得分:1)

您可以做的是在Type文件中添加data,如下所示:

->add('post_intro', 'textarea', 
      'attr' => array('cols' => '5', 'rows' => '6'),
      'required' => false
      'data' => "your text here"
      )) 

如果该值是动态的,请使用选项设置它:

->add('post_intro', 'textarea', array(
      'attr' => array('cols' => '5', 'rows' => '6'),
      'required' => false
      'data' => $options["yourData"],
      )) 

然后,您可以在创建表单时从控制器发送数据。控制器:

$yourData = "something" // here you will set what you want to display in the field. 

$form = $this->createForm(YourClass::class, $yourClass, 
        ['yourData' => $yourData]);