Symfony 2 |奏鸣曲:收藏删除号码

时间:2014-09-26 10:15:43

标签: symfony sonata-admin symfony-sonata

我现在正在寻找几天。 我的管理实体中有一个集合,一切正常,我得到: Collection in form

我想删除这些数字(这里是0和1)。

我的新闻管理员

$formMapper
        ->add('comments', 'collection', array('type' => new ...\NewsCommentType(),
                                                    'allow_add'    => false,
                                                    'allow_delete' => false,
                                                    'by_reference' => false,
                                                    "required" => false,
                                                    "label" => "Comments"))
    ;

我的NewsCommentType:

class NewsCommentType extends AbstractType
{

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('content', null, array(
            "disabled" => true,
            "label" => false)
        )
    ;
}

/**
 * @param OptionsResolverInterface $resolver
 */
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => '...\NewsComment'
    ));
}

/**
 * @return string
 */
public function getName()
{
    return 'newscomment';
}
}

我的edit_news.html.twig:

{% extends 'SonataAdminBundle:CRUD:edit.html.twig' %}

{% block javascripts %}
    {{ parent() }}
    <script src="{{ asset("bundles/.../js/ckeditor/ckeditor.js") }}"></script>
    <script type="text/javascript">

    </script>
{% endblock %}

{% block stylesheets %}
    {{ parent() }}
{% endblock %}


{% block formactions %}
<div class="well well-small form-actions">
    <button type="submit" class="btn btn-success" name="btn_update_and_edit"><i class="fa fa-save"></i> {{ 'btn_update_and_edit_again'|trans({}, 'SonataAdminBundle') }}</button>
    <button type="submit" class="btn btn-success" name="btn_update_and_list"><i class="fa fa-save"></i> <i class="fa fa-list"></i> {{ 'btn_update_and_return_to_list'|trans({}, 'SonataAdminBundle') }}</button>
    <a class="btn btn-success" href="{{ admin.generateUrl('list') }}">
    <i class="fa fa-list"></i>
    {{ 'link_action_list'|trans({}, 'SonataAdminBundle') }}</a>
</div>
{% endblock formactions %}

Sonata doc中没有任何内容(或者我错过了),所以我不知道从哪里开始。 是否有收集属性?我必须在javascript中做到这一点吗?

1 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,即使有些人在没有争论的情况下投票我的帖子(如果我的问题对你的知识太难了,只是通过TY),我就发布了它。

这个数字是使用奏鸣曲和类型集合的结果。 您必须将sonata_type_collection与您的自定义类型一起使用,并设置'edit'和'inline'值(仅适用于sonata_type_collection)以自定义您的结果:

在您的管理类中:

$formMapper
        ->add('comments', 'sonata_type_collection', array('type' => new ...\NewsCommentType(), 
            'by_reference' => true,
            'required' => false),     
            array(
                'edit' => 'inline',
                'inline' => 'table',
                'sortable' => 'id')
            );
    ;

在AbstractType中,您可以显示您想要的字段:

 $builder
    ->add('content', null, array(
        "disabled" => true,
        "label" => false)
    )
;

结果并不完美,但没有更多数字;)

enter image description here

TY试图帮助我的人;)