首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >修改Wagtail发布下拉列表(每个应用程序)

修改Wagtail发布下拉列表(每个应用程序)
EN

Stack Overflow用户
提问于 2017-01-06 09:43:22
回答 2查看 1.1K关注 0票数 5

我想重新配置默认的“发布”菜单。默认配置如下:

我想让Publish作为默认操作,并将其移到顶部。我还想删除提交审核,因为我们的网站目前不需要该功能。

理想情况下,我希望能够在每个应用程序的基础上覆盖菜单配置-将来我们可能会在网站的其他部分需要不同的配置。

这个是可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2019-03-18 18:35:10

您可以通过在wagtail钩子的帮助下注册自定义菜单项来向操作菜单添加新项。为此,请在任何现有的Django应用程序中创建一个名为wagtail_hooks.py的文件。

代码语言:javascript
复制
from wagtail.core import hooks
from wagtail.admin.action_menu import ActionMenuItem

class GuacamoleMenuItem(ActionMenuItem):
    label = "Guacamole"

    def get_url(self, request, context):
        return "https://www.youtube.com/watch?v=dNJdJIwCF_Y"


@hooks.register('register_page_action_menu_item')
def register_guacamole_menu_item():
    return GuacamoleMenuItem(order=10)

Source

如果要删除现有菜单项:

代码语言:javascript
复制
@hooks.register('construct_page_action_menu')
def remove_submit_to_moderator_option(menu_items, request, context):
    menu_items[:] = [item for item in menu_items if item.name != 'action-submit']

默认按钮SAVE DRAFT仍然是硬编码的,因此不能如此容易地进行配置。参见here

票数 5
EN

Stack Overflow用户

发布于 2019-04-11 18:06:50

修改上面的代码,这些选择器适用于每种管理语言:

代码语言:javascript
复制
let draft = $("button.button-longrunning.action-save");
let publish = $("button.button-longrunning[name='action-publish']");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41497634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档