I have entity class Page
with column type=integer
. When I do:
<service id="sonata.admin.pages" class="Main\ProgramBundle\Admin\PageAdmin">
<tag name="sonata.admin" manager_type="orm" group="dashboard" label="Pages"/>
<argument />
<argument>Main\ProgramBundle\Entity\Page</argument>
<argument>SonataAdminBundle:CRUD</argument>
</service>
<service id="sonata.admin.groups" class="Main\ProgramBundle\Admin\GroupAdmin">
<tag name="sonata.admin" manager_type="orm" group="stories" label="Groups"/>
<argument />
<argument>Main\ProgramBundle\Entity\Page</argument>
<argument>SonataAdminBundle:CRUD</argument>
</service>
In short, both sections work on same entity except that each have different queries and forms.
But what happens is that sonata always executes Admin/GroupAdmin, even if I select PageAdmin. How to do this?
I don't have enough reputation to add a comment to the previous answer, but it is missing the following information:
You also need to define a unique $baseRouteName value in addition to $baseRoutePattern in your admin classes:
protected $baseRouteName = 'admin_vendor_bundlename_adminclassname';
protected $baseRoutePattern = 'unique-route-pattern';
You only need to do this to one class, but consider doing it in both to keep it clear what's going on.