我现在正在寻找几天。 我的管理实体中有一个集合,一切正常,我得到:
我想删除这些数字(这里是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中做到这一点吗?
答案 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)
)
;
结果并不完美,但没有更多数字;)
TY试图帮助我的人;)