只需要编辑页面,而不是在sonata admin中列出页面



在我的一个模块中,我只能显示全局数据,管理员可以编辑它。

我想为此创建模块,但它将列出页面,但我需要直接编辑页面,管理员可以在sonata admin中编辑全局值。

知道吗?

提前感谢

好的,下面是您可以做的。。。

创建一个MenuBuilderListener类,让他们通过注册到侧边栏事件来监听菜单构建事件

在您的服务中。yml

app.menu_listener:
class: AppBundleListenerMenuBuilderListener
tags:
- { name: kernel.event_listener, event: sonata.admin.event.configure.menu.sidebar, method: addMenuItems }

在课堂上,搜索要更改为"仅编辑"的菜单项。。。

class MenuBuilderListener
{
public function addMenuItems(ConfigureMenuEvent $event)
{
$event->getMenu()->removeChild('the_name_of_your_menu_item');
$event->getMenu()->addChild('the_name_of_your_menu_item', ['route' => 'your_route_to_create_view']);
}
}

在更新的KnpMenu版本中,应该有一个直接用于MenuItem对象的setRoute方法,而在我的版本中没有。

这样,您的项目应该替换为指向创建路线的项目。要获得可用的路由,请在控制台中使用带有debug:router 的调试器

如果你不想列出/编辑等等,不要忘记阻止其他路线。。。

相关内容

  • 没有找到相关文章

最新更新