Symfony 2.7とSonata Admin Bundleを使用して、一部の製品や製品イメージを管理しています。私はSonata Admin Cookbookレシピ:https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_file_uploads.htmlを画像に使用しました。Sonata Admin:ダッシュボードからのみ[新規追加]ボタンを削除するにはどうすればよいですか?
イメージには関連付けられたプロダクトIDが必要です。ソナタ管理ダッシュボードおよび上部ツールバーから「Add New」イメージリンクを無効にして、アップロードされたイメージに関連付けられた製品が表示されるようにします。実際に画像を追加できる場所は、製品追加/編集ページのみです。
私はここで見つけるいくつかの回答によると、このようなルートを削除しようとしました: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がテンプレートで検証するため、ダッシュボードを含むすべてのページにルートが存在します。
したがって、リンクが存在し、リンクを削除する必要があります。これは設定を使用して行うことができますか、またはテンプレートを書き直さなければなりませんか?
ご質問いただきありがとうございます。実際、これはダッシュボードから「新規追加」リンクを削除する方法ですが、「リスト」リンクも削除され、リストにアクセスできるようにしたいと考えています。さらに、上部ツールバーのリンクは削除されません。 –