site_logo
お問い合わせはこちら

ブロックのカスタマイズ方法

Sparrowではあらかじめ用意された便利なブロックがありますが、それを自分好みにカスタマイズしたり、新規のブロックを実装してエディタに追加することができます。

このページでは、編集画面で使用するブロックのカスタマイズ方法について解説します。

ブロックをカスタマイズしたい場合は、ページのカスタムモデルを作り、そのモデルのブロックフィールドを上書きします。

ページのカスタムモデルの作り方は以下のページで解説しています。

以下の例は、 CustomHomeFixed という固定ページ用のカスタムモデルを作り、bodyフィールドを上書きしている例です。

sparrowoverrides/models.py
class MyBodyBlock(core_blocks.StreamBlock):
    """カスタムブロック"""

    # ここにカスタム内容を実装します。

    pass


class CustomHomeFixed(AbstractHomeFixed):
    """ページのカスタムモデル"""

    # bodyフィールドの上書き
    body = StreamField(MyBodyBlock(), verbose_name="本文")

    class Meta:
        abstract = True

MyBodyBlock という本文用のブロックを作り、これをCustomHomeFixedのbodyフィールドとして使用しています。ブロックの作り方はWagtailの実装方法をそのまま使用できます。

おすすめ記事

thumbnail
2023/8/12

見た目のカスタマイズ

thumbnail
2023/8/4

記事の追加方法

thumbnail
2023/8/1

ページのカスタマイズ方法