Wagtail RichTextBlock расширяется, чтобы выбрать цвет
Я пытаюсь реализовать вариант выбора цвета в трясогузке RichTextBlock
так что я могу выбрать любой цвет для выделенного текста.
Это мое wagtail_hooks.py
файл:
@hooks.register("register_rich_text_features")
def register_colortext_feature(features):
"""Creates centered text in our richtext editor and page."""
# Step 1
feature_name = "Text Color Picker"
type_ = "TEXTCOLOR"
tag = "span"
# Step 2
control = {
"type": type_,
"label": "color",
"description": "Color Text",
# "style": {
# "display": "block",
# "text-align": "center",
# },
}
# Step 3
features.register_editor_plugin(
"draftail", feature_name, draftail_features.InlineStyleFeature(control)
)
# Step 4
db_conversion = {
"from_database_format": {tag: InlineStyleElementHandler(type_)},
"to_database_format": {
"style_map": {
type_: {
"element": tag,
"props": {
"style": "color:colorcode"
}
}
}
}
}
# Step 5
features.register_converter_rule("contentstate", feature_name, db_conversion)
# Step 6, This is optional.
features.default_features.append(feature_name)
Кто-нибудь может мне с этим помочь? Я просто старался изо всех сил, чтобы добиться этого, но безуспешно.
2 ответа
Решение
Не могли бы вы добавить charfield или charblock к вашей модели или streamblock, где вы вводите шестнадцатеричное значение, а в шаблоне вы читаете значение поля и устанавливаете для него цвет текста?
Для этой функции в Wagtail открыт билет здесь . Если вам нужен текстовый блок выбора цвета, вы можете использовать этот пакет на данный момент, пока он не станет основной функцией. Это создаст текстовое поле с палитрой цвета и проверками. Вы можете сделать это следующим образом:
from wagtail_color_panel.blocks import NativeColorBlock
class YourBlock(StructBlock):
textColor = NativeColorBlock(help_text="Provide a text color")