2014-09-26 3 views
0

Я ищу несколько дней. У меня есть коллекция в моем администратора сущности, все работает, и я получаю: Collection in formSymfony 2 | Соната: коллекция удалить цифры

Я хочу, чтобы удалить эти цифры (0 и 1 здесь).

Мои NewsAdmin

$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 %} 

Там нет ничего в соната документ об этом (или я пропустил его), поэтому я не знаю с чего начать. Есть ли атрибут с коллекцией? Я должен сделать это в javascript?

+0

Можете ли вы ответить или возразить вместо голосования вниз? TY ... unbelievable Oo – Aximem

+0

Можете ли вы указать мне на разбор документа, который вы используете, я посмотрю, смогу ли я помочь вам –

+0

Привет, TY Я следовал следующим примерам: http://symfony.com/doc /current/cookbook/form/form_collections.html. Но я отредактировал мой пост с моим кодом. Я думаю, что это из-за Сонаты, но я не знаю почему. – Aximem

ответ

1

Я нашел решение, и я его, даже если некоторые парни вниз голосовать мой пост не споря (если моя проблема слишком трудно для ваших знаний, просто передать TY)

Эти цифры являются результатом использования сонату и type коллекция. Вы должны использовать sonata_type_collection с значениями «инлайн» пользовательского типа и набор «редактировать» и (доступно только с 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 для людей, которые пытались помочь мне;)

Смежные вопросы