如何在Symfony2中自定义单个字段

时间:2014-12-17 16:52:45

标签: symfony

这是我的ArticleType.php



class ArticleType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('title')
            ->add('category')
            ->add('tags')
            ->add('cover')
            ->add('is_recommend', null, array('attr'=>array('require' => true)))
            ->add('description')
        ;
    }




如何自定义提交"封面"在树枝?这是我在twig中的代码



    <div class="col-xs-12">
        <!-- PAGE CONTENT BEGINS -->
        {% form_theme edit_form with 'AppsAdminBundle:Form:fields.html.twig'%}

        {{ form_start(edit_form) }}
        {{ form_errors(edit_form) }}

        {% block _article_cover_widget %}
            <div class="text_widget">
                {{ block('form_widget_simple') }}
                <a href="">上传文件</a>
            </div>
        {% endblock %}

        {{ form_end(edit_form) }}

    </div><!-- /.col -->
&#13;
&#13;
&#13;

我想在这个树枝上自定义字段覆盖,但是,我不知道,为什么它不起作用,我希望得到帮助,非常感谢!

1 个答案:

答案 0 :(得分:0)

选中docs以自定义表单呈现。

如果您想分别管理每个字段渲染,您也可以这样做:

<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
{% form_theme edit_form with 'AppsAdminBundle:Form:fields.html.twig'%}

        {{ form_start(edit_form) }}
        {{ form_errors(edit_form) }}

        {{ form_row(edit_form.title) }}
        {{ form_row(edit_form.category) }}
        {{ form_row(edit_form.tags) }}
        <div class="text_widget">
                {{ form_row(edit_form.cover) }}
                <a href="">上传文件</a>
        </div>        
        {{ form_row(edit_form.is_recommend) }}                        
        {{ form_row(edit_form.description) }}                                

        {{ form_end(edit_form) }}
</div>

或者,简单地说:

<div class="col-xs-12">
<!-- PAGE CONTENT BEGINS -->
{% form_theme edit_form with 'AppsAdminBundle:Form:fields.html.twig'%}

        <div class="text_widget">
                {{ form_row(edit_form.cover) }}
                <a href="">上传文件</a>
        </div>                                       
        {{ form_rest(edit_form) }}
        {{ form_end(edit_form) }}
</div>