2013-12-13 28 views
2

您好,我想在奏鳴曲管理軟件包中顯示側邊欄,但是我找不到一個好例子,這是我用於在編輯模式下顯示它的代碼:在show view中顯示側邊欄 - 索納塔管理軟件包

protected function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null) { 
    if (!$childAdmin && !in_array($action, array('edit'))) { 
     return; 
    } 

    $admin = $this->isChild() ? $this->getParent() : $this; 
    $id = $admin->getRequest()->get('id'); 

    $menu->addChild(
     'view', 
     array('uri' => $admin->generateUrl('edit', array('id' => $id))) 
    ); 

    $menu->addChild(
     'replies', 
     array('uri' => $admin->generateUrl('sonata.admin.module.application.replies.list', array('id' => $id))) 
    ); 
} 

但是我想讓它出現在顯示視圖中,因爲我顯示的是默認的,因爲窗體不應該是可編輯的。

這是我configureShowFields

protected function configureShowFields(ShowMapper $showMapper) { 
    $showMapper 
     ->add('application') 
     ->add('denied') 
     ->add('details', 'string', array('template' => 'MyBundle:Admin:jsonToTable.html.twig')) 
    ; 
} 

回答

3

發現它,只是正確的操作添加到configureSideMenu功能

protected function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null) 
{ 
    if (!$childAdmin && !in_array($action, array('edit', 'show'))) { 
     return; 
    } 
    $admin = $this->isChild() ? $this->getParent() : $this; 
    $id = $admin->getRequest()->get('id'); 

    $menu->addChild(
     'view', 
     array('uri' => $admin->generateUrl('show', array('id' => $id))) 
    ); 

    $menu->addChild(
     'replies', 
     array('uri' => $admin->generateUrl('sonata.admin.module.application.replies.list', array('id' => $id))) 
    ); 
}