Wagtail - 如何从设置菜单中删除子菜单项

问题描述 投票:0回答:2

Wagtail 默认包含一个“设置”菜单项,以及一些默认设置项,例如“站点”和“重定向”。

我知道您可以使用

register_setting
装饰器注册新设置,并且可以使用各种挂钩来自定义顶级菜单项,但不能自定义子菜单项。如何删除(或隐藏显示)默认设置项?

python django wagtail
2个回答
3
投票

该解决方案已在此网站中进行了解释 如果我们想从设置菜单项中删除用户

from wagtail.core import hooks

@hooks.register('construct_settings_menu')
def hide_user_menu_item(request, menu_items):
    menu_items[:] = [item for item in menu_items if item.name != 'user']

对于主菜单,如果我们想从主菜单项中删除图像

from wagtail.core import hooks

@hooks.register('construct_main_menu')
def hide_images_menu_item(request, menu_items):
    menu_items[:] = [item for item in menu_items if item.name != 'images']

更高版本的Wagtail6.0

现在以不同的方式导入钩子

from wagtail import hooks

2
投票

创建一个 Wagtail 组(“设置”菜单下的“组”)。为组分配对象权限时,请确保未选择“站点设置”。然后将您不希望看到“站点设置”菜单的用户分配给该组,这样就不会为他们显示该菜单。

© www.soinside.com 2019 - 2024. All rights reserved.