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

时间:2017-01-06 01:43:22

标签: django wagtail

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

Default publish menu

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

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

这可能吗?

4 个答案:

答案 0 :(得分:2)

目前我无法做到这一点 - 菜单项已在wagtailadmin/pages/create.htmledit.html中修复。

答案 1 :(得分:2)

您可以通过使用w钩注册一个自定义菜单项来将新项添加到操作菜单。 为此,请在您现有的任何Django应用中创建一个名为wagtail_hooks.py的文件。

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

如果要删除现有菜单项:

@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

答案 2 :(得分:1)

似乎没有一些猴子补丁就无法在服务器端完成

但是,如果您自己想要它(或可以访问要发布的计算机),则可以修改浏览器。

  1. 安装Tampermonkey浏览器插件
  2. 使用下面的内容创建新脚本
  3. start_consuming更改为您的Wagtail管理面板网址格式
  4. 保存脚本并检查管理面板

结果应如下:

enter image description here


http://127.0.0.1:8000/admin/*

答案 3 :(得分:0)

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

let draft = $("button.button-longrunning.action-save");
let publish = $("button.button-longrunning[name='action-publish']");