Пользовательский маршрут по умолчанию в представлении списка SonataORMAdmin

Ссылаясь на документацию SoanataORMAdmin можно изменить маршрут ссылок объектов по умолчанию.

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

Каков наилучший способ переопределить маршрут по умолчанию?

Спасибо.


person Soullivaneuh    schedule 25.10.2014    source источник


Ответы (1)


Лучший способ — переопределить ветку, расширив SonataORMAdminBundle.

Для этого вам необходимо:

  • установить пакет SonataEasyGenerate
  • используйте команду php app/console sonata:easy-extends:generate SonataORMAdminBundle
  • это создаст новый репозиторий Application/Sonata/DoctrineORMAdminBundle.
  • Затем вам нужно перейти в Application/Sonata/DoctrineORMAdminBundle/Ressources/views/CRUD и вставить ветки от поставщиков (vendor/Sonata/DoctrineORMAdminBundle/Ressources/views/CRUD)

Наконец, измените ссылки в ветках. Например, если вы хотите вызвать представление списка, чтобы вызвать маршрут показа для отношения «многие к одному»:

  • отредактируйте list_orm_many_to_one.html.twig, чтобы он вызывал generateObjectUrl('show',...) вместо generateObjectUrl('edit',...)

Надеюсь, это поможет.

person wmaaoui    schedule 12.11.2014
comment
Спасибо, но уже сделал. Я думаю, что переопределение шаблона болезненно для простой смены ссылки... ;) - person Soullivaneuh; 16.11.2014