diff --git a/kmicms/core/blocks/base.py b/kmicms/core/blocks/base.py index a2811da..2d9f3cd 100644 --- a/kmicms/core/blocks/base.py +++ b/kmicms/core/blocks/base.py @@ -1,13 +1,14 @@ from wagtail import blocks from .components import MastheadBlock, ShowcaseBlock -from .elements import AlertBlock, HeadingBlock +from .elements import AlertBlock, CardGridBlock, HeadingBlock class StoryBlock(blocks.StreamBlock): heading = HeadingBlock() rich_text = blocks.RichTextBlock(editor="all-but-headings") alert = AlertBlock() + card_grid = CardGridBlock() class ContainerBlock(blocks.StructBlock): diff --git a/kmicms/core/blocks/elements.py b/kmicms/core/blocks/elements.py index 1ab7bd5..46ee3a2 100644 --- a/kmicms/core/blocks/elements.py +++ b/kmicms/core/blocks/elements.py @@ -1,4 +1,5 @@ from wagtail import blocks +from wagtail.images.blocks import ImageChooserBlock class HeadingBlock(blocks.StructBlock): @@ -48,3 +49,25 @@ class CallToActionBlock(blocks.StructBlock): class Meta: template = "core/blocks/elements/call-to-action.html" + + +class CardBlock(blocks.StructBlock): + image = ImageChooserBlock() + title = blocks.TextBlock() + text = blocks.RichTextBlock() + + class Meta: + label = "Card" + template = "core/blocks/elements/card.html" + + +class CardGridBlock(blocks.StructBlock): + grid_class = blocks.ChoiceBlock( + [("row-cols-md-2", "2 Cards Wide"), ("row-cols-md-3", "3 Cards Wide"), ("row-cols-md-4", "4 Cards Wide")], + label="Grid Type", + ) + card_list = blocks.ListBlock(CardBlock(), label="Cards") + + class Meta: + label = "Card Grid" + template = "core/blocks/elements/card-grid.html" diff --git a/kmicms/core/templates/core/blocks/elements/card-grid.html b/kmicms/core/templates/core/blocks/elements/card-grid.html new file mode 100644 index 0000000..534db9f --- /dev/null +++ b/kmicms/core/templates/core/blocks/elements/card-grid.html @@ -0,0 +1,8 @@ +{% load wagtailcore_tags %} +
+ {% for card in value.card_list %} +
+ {% include_block card %} +
+ {% endfor %} +
\ No newline at end of file diff --git a/kmicms/core/templates/core/blocks/elements/card.html b/kmicms/core/templates/core/blocks/elements/card.html new file mode 100644 index 0000000..29b4203 --- /dev/null +++ b/kmicms/core/templates/core/blocks/elements/card.html @@ -0,0 +1,9 @@ +{% load wagtailcore_tags wagtailimages_tags %} +{% image value.image width-728 height-240 as tmp_image %} +
+ Image +
+
{{ value.title }}
+

{{ value.text|richtext}}

+
+
\ No newline at end of file