From 0f7a86618b5db337b1c5b2ac32f41d2c4b18b1f8 Mon Sep 17 00:00:00 2001 From: Chiemezuo Date: Sun, 24 Mar 2024 08:31:24 +0100 Subject: [PATCH 1/2] make experimental changes --- wagtail/images/blocks.py | 10 +++++++++- .../images/templates/wagtailimages/widgets/image.html | 5 +++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 wagtail/images/templates/wagtailimages/widgets/image.html diff --git a/wagtail/images/blocks.py b/wagtail/images/blocks.py index 4d4c66dc67..96c4a87c4f 100644 --- a/wagtail/images/blocks.py +++ b/wagtail/images/blocks.py @@ -2,7 +2,7 @@ from django.template.loader import render_to_string from django.utils.functional import cached_property from wagtail.admin.compare import BlockComparison -from wagtail.blocks import ChooserBlock +from wagtail.blocks import ChooserBlock, StructBlock, CharBlock from .shortcuts import get_rendition_or_not_found @@ -51,3 +51,11 @@ class ImageChooserBlockComparison(BlockComparison): "image_b": self.val_b, }, ) + +class ImageBlock(StructBlock): + image = ImageChooserBlock(required=True) + alt_text = CharBlock(required=True) + + class Meta: + icon = 'image' + template = 'wagtailimages/widgets/image.html' \ No newline at end of file diff --git a/wagtail/images/templates/wagtailimages/widgets/image.html b/wagtail/images/templates/wagtailimages/widgets/image.html new file mode 100644 index 0000000000..a3507e6ef2 --- /dev/null +++ b/wagtail/images/templates/wagtailimages/widgets/image.html @@ -0,0 +1,5 @@ +{% load wagtailimages_tags %} + +
+ {% image self.image fill-600x338 loading="lazy" alt=self.alt_text%} +
From 7e5d7e901cfeb500125ded7116c082af38f1857f Mon Sep 17 00:00:00 2001 From: Chiemezuo Date: Sun, 24 Mar 2024 10:19:04 +0100 Subject: [PATCH 2/2] add decorative choice option --- wagtail/images/blocks.py | 8 +++++--- wagtail/images/templates/wagtailimages/widgets/image.html | 6 +++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/wagtail/images/blocks.py b/wagtail/images/blocks.py index 96c4a87c4f..651043cae1 100644 --- a/wagtail/images/blocks.py +++ b/wagtail/images/blocks.py @@ -2,7 +2,7 @@ from django.template.loader import render_to_string from django.utils.functional import cached_property from wagtail.admin.compare import BlockComparison -from wagtail.blocks import ChooserBlock, StructBlock, CharBlock +from wagtail.blocks import BooleanBlock, CharBlock, ChooserBlock, StructBlock from .shortcuts import get_rendition_or_not_found @@ -52,10 +52,12 @@ class ImageChooserBlockComparison(BlockComparison): }, ) + class ImageBlock(StructBlock): image = ImageChooserBlock(required=True) alt_text = CharBlock(required=True) + decorative = BooleanBlock(default=False, required=False) class Meta: - icon = 'image' - template = 'wagtailimages/widgets/image.html' \ No newline at end of file + icon = "image" + template = "wagtailimages/widgets/image.html" diff --git a/wagtail/images/templates/wagtailimages/widgets/image.html b/wagtail/images/templates/wagtailimages/widgets/image.html index a3507e6ef2..1554745335 100644 --- a/wagtail/images/templates/wagtailimages/widgets/image.html +++ b/wagtail/images/templates/wagtailimages/widgets/image.html @@ -1,5 +1,9 @@ {% load wagtailimages_tags %}
- {% image self.image fill-600x338 loading="lazy" alt=self.alt_text%} + {% if self.decorative %} + {% image self.image fill-600x338 loading="lazy" %} + {% else %} + {% image self.image fill-600x338 loading="lazy" alt=self.alt_text %} + {% endif %}