Как мы можем добавить пользовательские классы к кнопкам панели трясогузки, таким как «Просмотр в реальном времени», «Редактировать», кнопки для созданного содержимого. Когда я просматривал файлы ядра, я заметил, что основные трюхвостые зацепки для страницы администратора, как показано ниже (я знаю, мы не должны редактировать файлы ядра)
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
Как правильно сделать это
Редактировать (При дальнейшем исследовании)
Использование крючков для трясогузки
Я создал новое приложение для трясогузки, чтобы зарегистрировать ловушку, чтобы я мог зарегистрировать кнопку без изменения основных файлов, но теперь у меня есть две кнопки (Дублировать), но я ожидал отредактировать существующуюзначения 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
)