sonata-project / SonataAdminBundle

The missing Symfony Admin Generator

Home Page:https://docs.sonata-project.org/projects/SonataAdminBundle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Using SubClasses in admins create either not handable translation ids or urly urls

BA-JBI opened this issue · comments

Problem

Rererring to:
https://symfony.com/bundles/SonataAdminBundle/current/reference/advanced_configuration.html#inherited-classes

Variant A

App\Admin\ExampleAdmin:
    tags:
        -   name:            sonata.admin
#            [...]
    calls:
      - ['setSubClasses', [{
             class_a: App\Entity\SubClassA,
             class_b: App\Entity\SubClassB
      }]]

Is resulting in
image
image

Those translation labels are not great to handle


Variant B

App\Admin\ExampleAdmin:
    tags:
        -   name:            sonata.admin
#            [...]
    calls:
      - ['setSubClasses', [{
             app.my_class.subclass.class_a: App\Entity\SubClassA,
             app.my_class.subclass.class_b: App\Entity\SubClassB
      }]]

creates nice translation labels but ugly create url:

https://my.app.example/admin/entity/namespace/create?subclass=app.my_class.subclass.class_a

My suggested solution:

{{ 'link_action_create'|trans({}, 'SonataAdminBundle') }} {{ subclass|trans({}, admin.translationdomain) }}

Change to:

                    {{ 'link_action_create'|trans({}, 'SonataAdminBundle') }} {{ admin.translationLabel(subclass,'subclass')|trans({}, admin.translationDomain) }}

That would be a BC break and would require a new major version.
Doesn't seems worth it.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.