我使用Symfony 2.7與Sonata Admin Bundle來管理一些產品和產品圖像。我使用了Sonata Admin Cookbook配方:https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_file_uploads.html用於圖像。奏鳴曲管理員:如何從儀表板刪除「添加新的」按鈕?
由於圖像必須有與之關聯的產品ID,因此我想要禁用Sonata管理儀表板和頂部工具欄中的「添加新圖像」鏈接,以便任何上傳的圖像都具有關聯的產品。實際上,圖片應該被允許添加的唯一地方是產品添加/編輯頁面。
我試圖刪除這樣的路線,根據這裏找到一些答案:Sonata Admin Dashboard: configure actions per entity
protected function configureRoutes(RouteCollection $collection)
{
$container = $this->getConfigurationPool()->getContainer();
if ($container->get('request')->get('_route') == 'sonata_admin_dashboard') {
$collection->remove('create');
}
}
但這種方法並不好,因爲,如果緩存被初始化,當我訪問管理控制檯,路線在任何地方都會被移除,但如果緩存在不同的頁面上初始化,那麼路由將出現在所有頁面上,包括儀表板,因爲如果顯示鏈接時路由存在,則Sonata Admin會在模板中進行驗證。
所以,我需要路線存在,並刪除鏈接。這可以使用配置完成,或者我必須重寫模板?
謝謝你的時間回答我的問題。事實上,這是一種從我的儀表板中刪除「添加新的」鏈接的方法,但它也會刪除「列表」鏈接,我希望列表可以訪問。此外,這不會刪除頂部工具欄中的鏈接。 –