django - 如何将自定义 css 类添加到 wagtail 仪表板按钮
问题描述
我们如何将自定义类添加到 wagtail 仪表板按钮,例如“查看实时”、“编辑”按钮以创建内容。当我浏览核心文件时,我注意到管理页面的核心 wagtail 钩子如下所示(我知道我们不应该编辑核心文件)
if page.live and page.url:
yield PageListingButton(
_('View live'),
page.url,
attrs={'target': "_blank", 'rel': 'noopener noreferrer', 'title': _("View live version of '{title}'").format(title=page.get_admin_display_title())},
priority=30
)
如果我添加值'class':'custom-class'
,attrs
则默认类消失并custom-class
出现
这样做的正确方法是什么
编辑(进一步调查)
使用鹡鸰钩
我创建了一个新的 wagtail 应用程序来注册钩子,这样我就可以在不更改核心文件的情况下注册按钮,但现在我有两个按钮(重复),但我希望编辑现有按钮的class
attrs
值
from wagtail.core import hooks
from wagtail.admin import widgets as wagtailadmin_widgets
from wagtail.admin.widgets import Button, ButtonWithDropdownFromHook, PageListingButton
@hooks.register('register_page_listing_buttons')
def page_listing_buttons(page, page_perms, is_parent=False):
if page.live and page.url:
yield PageListingButton(
('View live'),
page.url,
attrs={'target': "_blank", 'rel': 'noopener noreferrer', 'title': ("View live version of '{title}'").format(title=page.get_admin_display_title())},
priority=30
)
解决方案
这部分文档应满足您的需求。
推荐阅读
- python - 将 python 列表 [1.] 转换为 [(1,)]
- python - 创建 scapy 数据包协议,并为多个字段重用有效负载
- vba - 只有当我在 vba Access 中有一个打开的表单事件处理程序时才能打开表单
- javascript - 如何在使用 Stripe 提交数据之前获取最后 4 位数字
- java - 使用 MuClipse 获取突变和测试用例信息
- macos - macOS 上的 fexecve 等效项
- awk - AWK 合并文件
- c++ - 使用右值的比较函数
- javascript - $.ajax 请求值返回 [object Object]
- excel - 运行突出显示值的事件代码,但突出显示在另一个范围内被模仿