Как добавить пользовательский класс CSS для кнопок панели трясогузки - PullRequest
1 голос
/ 18 октября 2019

Как мы можем добавить пользовательские классы к кнопкам панели трясогузки, таким как «Просмотр в реальном времени», «Редактировать», кнопки для созданного содержимого. Когда я просматривал файлы ядра, я заметил, что основные трюхвостые зацепки для страницы администратора, как показано ниже (я знаю, мы не должны редактировать файлы ядра)

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
        )

1 Ответ

2 голосов
/ 18 октября 2019

Эта часть документации должна отвечать вашим потребностям.

...