Как отредактировать правило конвертера формата внешних ссылок в редакторе draftail cms wagtail
Когда кто-то добавляет внешнюю ссылку в Wagtail CMS, у него должна быть возможность выбрать, сделать ли ссылку 'nofollow' или 'noreferrer'. Чтобы добиться этого, я унаследовал существующую форму ссылок, и код представлен здесь
class CustomExternalLinkChooserForm(ExternalLinkChooserForm):
rel = forms.ChoiceField(
choices=[
("noreferrer", "Noreferrer"),
("nofollow", "Nofollow"),
],
required=False,
label=_("Rel Attribute"),
)
я также унаследовал вид
class CustomExternalLinkView(ExternalLinkView):
form_class = CustomExternalLinkChooserForm
я зарегистрировал это в wagtail hooks, поэтому администратор принимает это за переопределение основного вида
@hooks.register("register_admin_urls")
def register_custom_external_link_view():
return [
path(
"admin/choose-external-link/",
CustomExternalLinkView.as_view(),
name="wagtailadmin_choose_page_external_link",
)
]
При использовании вышеуказанного, он дает мне такой вывод, но основная проблема заключается в том, что когда редактор Draftail rich text сохраняет ссылку в базе данных, он не добавляет атрибут rel в href url. Как я могу решить эту проблему?
You will also need to customize the LinkHandlers. There is an example in the docs for how to add nofollow to all links. You will need to modify it to accept your dynamic attribute. https://docs.wagtail.org/en/stable/extending/rich_text_internals.html#registering-rewrite-handlers