使用 Wagtail CMS 片段但隐藏在管理面板中
Use Wagtail CMS Snippets but Hide in Admin Panel
我正在基于 Wagtail 代码段构建自定义 AdminModel,并在 AdminPanel 中为我的模型提供自定义菜单。如何在不禁用的情况下从 AdminPanel hide/remove 选择代码段?谢谢。
将以下挂钩放入 Wagtail CMS 应用程序的 wagtail_hooks.py 文件中:
from wagtail.wagtailcore import hooks
@hooks.register('construct_main_menu')
def hide_snippets_menu_item(request, menu_items):
menu_items[:] = [item for item in menu_items if item.name != 'snippets']
你基本上完成了!您可以使用此方法隐藏管理菜单中的任何项目。
我最近在我的博客上描述了它:http://timonweb.com/posts/how-to-remove-snippets-menu-item-from-wagtail-cms-admin-menu/
由于menu_items
中的item.name
可以为空,更好的解决办法是:
from wagtail.snippets.wagtail_hooks import SnippetsMenuItem
@hooks.register('construct_main_menu')
def hide_snippets_menu_item(request, menu_items):
menu_items[:] = [item for item in menu_items if not isinstance(item, SnippetsMenuItem)]
我正在基于 Wagtail 代码段构建自定义 AdminModel,并在 AdminPanel 中为我的模型提供自定义菜单。如何在不禁用的情况下从 AdminPanel hide/remove 选择代码段?谢谢。
将以下挂钩放入 Wagtail CMS 应用程序的 wagtail_hooks.py 文件中:
from wagtail.wagtailcore import hooks
@hooks.register('construct_main_menu')
def hide_snippets_menu_item(request, menu_items):
menu_items[:] = [item for item in menu_items if item.name != 'snippets']
你基本上完成了!您可以使用此方法隐藏管理菜单中的任何项目。
我最近在我的博客上描述了它:http://timonweb.com/posts/how-to-remove-snippets-menu-item-from-wagtail-cms-admin-menu/
由于menu_items
中的item.name
可以为空,更好的解决办法是:
from wagtail.snippets.wagtail_hooks import SnippetsMenuItem
@hooks.register('construct_main_menu')
def hide_snippets_menu_item(request, menu_items):
menu_items[:] = [item for item in menu_items if not isinstance(item, SnippetsMenuItem)]