Как расширить PageLinkHandler для приема якоря на странице

Я хочу расширить PageLinkHandler Wagtail для объединения внутренней ссылки PageChooser с ссылкой AnchorLink, чтобы шаблон выводил <a href="/mypage#myanchor".

class AnchorPageLinkHandler(PageLinkHandler):
    identifier = 'page_anchor'

    @staticmethod
    def get_model():
        return Page

    @classmethod
    def get_instance(cls, attrs):
        return super().get_instance(attrs).specific

    @classmethod
    def expand_db_attributes(cls, attrs):
        try:
            page = cls.get_instance(attrs)
            hash_id = attrs["hash_id"]
            return '<a href="{}#{}">'.format(escape(
                page.localized.specific.url), hash_id)
        except Page.DoesNotExist:
            return "<a>"


@hooks.register('register_rich_text_features')
def register_link_handler(features):
    features.register_link_type(AnchorPageLinkHandler)

Я продвинулся далеко, но у меня 2 проблемы: i) page_anchor не отображается в виджете редактора ссылок, как мне включить его? ii) как мне добавить текстовый ввод hash_id в виджет, когда я включу его?

Вернуться на верх