Я использую Symfony 2.7 с Sonata Admin Bundle для управления некоторыми продуктами и изображениями продуктов. Я использовал рецепт рецепта Sonata Admin Cookbook: https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_file_uploads.html для изображений.Sonata Admin: Как удалить кнопку «Добавить новую» только с панели инструментов?
Поскольку изображение должно иметь связанный с ним идентификатор продукта, я хочу отключить ссылку «Добавить новую ссылку» из панели управления администратора 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 проверяет шаблоны, если маршрут существует при отображении ссылки.
Итак, мне нужен маршрут, чтобы существовать и удалить ссылку. Можно ли это сделать с помощью конфигурации или мне нужно переписать шаблоны?
Спасибо за ваше время, отвечая на мой вопрос. В самом деле, это метод, чтобы избавиться от ссылки «Добавить новую» из моей информационной панели, но также удалит ссылку «Список», и я хочу, чтобы список был доступен. Кроме того, это не удаляет ссылку на верхней панели инструментов. –