Instantly share code, notes, and snippets.
Last active
October 26, 2023 06:26
-
Star
1
(1)
You must be signed in to star a gist -
Fork
1
(1)
You must be signed in to fork a gist
-
Save dpw1/c44eb67f982fcbfdeaa48dd0b0e67920 to your computer and use it in GitHub Desktop.
Make the Shopify Dawn's theme banner image clickable.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{% if section.settings.link != blank %} | |
<a class="ezfy-custom-link" | |
href="{{ section.settings.link }}" | |
{% if section.settings.new_tab %}target="_blank"{% endif %} | |
></a> | |
<style> | |
.image-banner-section{ | |
position: relative; | |
} | |
#shopify-section-header{ | |
z-index: 4 !important; | |
} | |
.image-banner-section a.ezfy-custom-link{ | |
position: absolute; | |
display: block; | |
top: 0; | |
left: 0; | |
right: 0; | |
bottom: 0; | |
width: 100%; | |
height: 100%; | |
z-index: 3; | |
} | |
</style> | |
{% endif %} | |
{{ 'section-image-banner.css' | asset_url | stylesheet_tag }} | |
{%- if section.settings.adapt_height_first_image and section.settings.image != blank -%} | |
{%- style -%} | |
@media screen and (max-width: 749px) { | |
#Banner-{{ section.id }}::before, | |
#Banner-{{ section.id }} .banner__media::before, | |
#Banner-{{ section.id }}:not(.banner--mobile-bottom) .banner__content::before { | |
padding-bottom: {{ 1 | divided_by: section.settings.image.aspect_ratio | times: 100 }}%; | |
content: ''; | |
display: block; | |
} | |
} | |
@media screen and (min-width: 750px) { | |
#Banner-{{ section.id }}::before, | |
#Banner-{{ section.id }} .banner__media::before { | |
padding-bottom: {{ 1 | divided_by: section.settings.image.aspect_ratio | times: 100 }}%; | |
content: ''; | |
display: block; | |
} | |
} | |
{%- endstyle -%} | |
{%- endif -%} | |
{%- style -%} | |
#Banner-{{ section.id }}::after { | |
opacity: {{ section.settings.image_overlay_opacity | divided_by: 100.0 }}; | |
} | |
{%- endstyle -%} | |
<div id="Banner-{{ section.id }}" class="banner banner--content-align-{{ section.settings.desktop_content_alignment }} banner--content-align-mobile-{{ section.settings.mobile_content_alignment }} banner--{{ section.settings.image_height }}{% if section.settings.stack_images_on_mobile and section.settings.image != blank and section.settings.image_2 != blank %} banner--stacked{% endif %}{% if section.settings.adapt_height_first_image and section.settings.image != blank %} banner--adapt{% endif %}{% if section.settings.show_text_below %} banner--mobile-bottom{%- endif -%}{% if section.settings.show_text_box == false %} banner--desktop-transparent{% endif %}"> | |
{%- if section.settings.image != blank -%} | |
<div class="banner__media media{% if section.settings.image == blank and section.settings.image_2 == blank %} placeholder{% endif %}{% if section.settings.image_2 != blank %} banner__media-half{% endif %}"> | |
<img | |
srcset="{%- if section.settings.image.width >= 375 -%}{{ section.settings.image | img_url: '375x' }} 375w,{%- endif -%} | |
{%- if block.settings.image.width >= 550 -%}{{ block.settings.image | img_url: '550x' }} 550w,{%- endif -%} | |
{%- if section.settings.image.width >= 750 -%}{{ section.settings.image | img_url: '750x' }} 750w,{%- endif -%} | |
{%- if section.settings.image.width >= 1100 -%}{{ section.settings.image | img_url: '1100x' }} 1100w,{%- endif -%} | |
{%- if section.settings.image.width >= 1500 -%}{{ section.settings.image | img_url: '1500x' }} 1500w,{%- endif -%} | |
{%- if section.settings.image.width >= 1780 -%}{{ section.settings.image | img_url: '1780x' }} 1780w,{%- endif -%} | |
{%- if section.settings.image.width >= 2000 -%}{{ section.settings.image | img_url: '2000x' }} 2000w,{%- endif -%} | |
{%- if section.settings.image.width >= 3000 -%}{{ section.settings.image | img_url: '3000x' }} 3000w,{%- endif -%} | |
{%- if section.settings.image.width >= 3840 -%}{{ section.settings.image | img_url: '3840x' }} 3840w,{%- endif -%} | |
{{ section.settings.image | img_url: 'master' }} {{ section.settings.image.width }}w" | |
sizes="{% if section.settings.image_2 != blank and section.settings.stack_images_on_mobile %}(min-width: 750px) 50vw, 100vw{% elsif section.settings.image_2 != blank %}50vw{% else %}100vw{% endif %}" | |
src="{{ section.settings.image | img_url: '1500x' }}" | |
loading="lazy" | |
alt="{{ section.settings.image.alt | escape }}" | |
width="{{ section.settings.image.width }}" | |
height="{{ section.settings.image.width | divided_by: section.settings.image.aspect_ratio }}" | |
{% if section.settings.image_2 != blank %}class="banner__media-image-half"{% endif %} | |
> | |
</div> | |
{%- elsif section.settings.image_2 == blank -%} | |
<div class="banner__media media{% if section.settings.image == blank and section.settings.image_2 == blank %} placeholder{% endif %}{% if section.settings.image_2 != blank %} banner__media-half{% endif %}"> | |
{{ 'lifestyle-2' | placeholder_svg_tag: 'placeholder-svg' }} | |
</div> | |
{%- endif -%} | |
{%- if section.settings.image_2 != blank -%} | |
<div class="banner__media media{% if section.settings.image != blank %} banner__media-half{% endif %}"> | |
<img | |
srcset="{%- if section.settings.image_2.width >= 375 -%}{{ section.settings.image_2 | img_url: '375x' }} 375w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 750 -%}{{ section.settings.image_2 | img_url: '750x' }} 750w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 1100 -%}{{ section.settings.image_2 | img_url: '1100x' }} 1100w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 1500 -%}{{ section.settings.image_2 | img_url: '1500x' }} 1500w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 1780 -%}{{ section.settings.image_2 | img_url: '1780x' }} 1780w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 2000 -%}{{ section.settings.image_2 | img_url: '2000x' }} 2000w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 3000 -%}{{ section.settings.image_2 | img_url: '3000x' }} 3000w,{%- endif -%} | |
{%- if section.settings.image_2.width >= 3840 -%}{{ section.settings.image_2 | img_url: '3840x' }} 3840w,{%- endif -%} | |
{{ section.settings.image_2 | img_url: 'master' }} {{ section.settings.image_2.width }}w" | |
sizes="{% if section.settings.image != blank and section.settings.stack_images_on_mobile %}(min-width: 750px) 50vw, 100vw{% elsif section.settings.image != blank %}50vw{% else %}100vw{% endif %}" | |
src="{{ section.settings.image_2 | img_url: '1500x' }}" | |
loading="lazy" | |
alt="{{ section.settings.image_2.alt | escape }}" | |
width="{{ section.settings.image_2.width }}" | |
height="{{ section.settings.image_2.width | divided_by: section.settings.image_2.aspect_ratio }}" | |
{% if section.settings.image != blank %}class="banner__media-image-half"{% endif %} | |
> | |
</div> | |
{%- endif -%} | |
<div class="banner__content banner__content--{{ section.settings.desktop_content_position }} page-width"> | |
<div class="banner__box color-{{ section.settings.color_scheme }}"> | |
{%- for block in section.blocks -%} | |
{%- case block.type -%} | |
{%- when 'heading' -%} | |
<h2 class="banner__heading {% if block.settings.heading_size == 'medium' %}h1{% else %}h0{% endif %}" {{ block.shopify_attributes }}> | |
<span>{{ block.settings.heading | escape }}</span> | |
</h2> | |
{%- when 'text' -%} | |
<div class="banner__text {{ block.settings.text_style }}" {{ block.shopify_attributes }}> | |
<span>{{ block.settings.text | escape }}</span> | |
</div> | |
{%- when 'buttons' -%} | |
<div class="banner__buttons{% if block.settings.button_label_1 != blank and block.settings.button_label_2 != blank %} banner__buttons--multiple{% endif %}" {{ block.shopify_attributes }}> | |
{%- if block.settings.button_label_1 != blank -%} | |
<a{% if block.settings.button_link_1 == blank %} role="link" aria-disabled="true"{% else %} href="{{ block.settings.button_link_1 }}"{% endif %} class="button{% if block.settings.button_style_secondary_1 %} button--secondary{% else %} button--primary{% endif %}">{{ block.settings.button_label_1 | escape }}</a> | |
{%- endif -%} | |
{%- if block.settings.button_label_2 != blank -%} | |
<a{% if block.settings.button_link_2 == blank %} role="link" aria-disabled="true"{% else %} href="{{ block.settings.button_link_2 }}"{% endif %} class="button{% if block.settings.button_style_secondary_2 %} button--secondary{% else %} button--primary{% endif %}">{{ block.settings.button_label_2 | escape }}</a> | |
{%- endif -%} | |
</div> | |
{%- endcase -%} | |
{%- endfor -%} | |
</div> | |
</div> | |
</div> | |
{% schema %} | |
{ | |
"name": "t:sections.image-banner.name", | |
"tag": "section", | |
"class": "spaced-section spaced-section--full-width image-banner-section", | |
"settings": [ | |
{ | |
"type": "url", | |
"id": "link", | |
"label": "Link" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "new_tab", | |
"default": false, | |
"label": "Open in new tab?" | |
}, | |
{ | |
"type": "image_picker", | |
"id": "image", | |
"label": "t:sections.image-banner.settings.image.label" | |
}, | |
{ | |
"type": "image_picker", | |
"id": "image_2", | |
"label": "t:sections.image-banner.settings.image_2.label" | |
}, | |
{ | |
"type": "range", | |
"id": "image_overlay_opacity", | |
"min": 0, | |
"max": 100, | |
"step": 10, | |
"unit": "%", | |
"label": "t:sections.image-banner.settings.image_overlay_opacity.label", | |
"default": 0 | |
}, | |
{ | |
"type": "select", | |
"id": "image_height", | |
"options": [ | |
{ | |
"value": "small", | |
"label": "t:sections.image-banner.settings.image_height.options__1.label" | |
}, | |
{ | |
"value": "medium", | |
"label": "t:sections.image-banner.settings.image_height.options__2.label" | |
}, | |
{ | |
"value": "large", | |
"label": "t:sections.image-banner.settings.image_height.options__3.label" | |
} | |
], | |
"default": "medium", | |
"label": "t:sections.image-banner.settings.image_height.label", | |
"info": "t:sections.image-banner.settings.image_height.info" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "adapt_height_first_image", | |
"default": false, | |
"label": "t:sections.image-banner.settings.adapt_height_first_image.label", | |
"info": "t:sections.image-banner.settings.adapt_height_first_image.info" | |
}, | |
{ | |
"type": "select", | |
"id": "desktop_content_position", | |
"options": [ | |
{ | |
"value": "top-left", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__1.label" | |
}, | |
{ | |
"value": "top-center", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__2.label" | |
}, | |
{ | |
"value": "top-right", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__3.label" | |
}, | |
{ | |
"value": "middle-left", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__4.label" | |
}, | |
{ | |
"value": "middle-center", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__5.label" | |
}, | |
{ | |
"value": "middle-right", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__6.label" | |
}, | |
{ | |
"value": "bottom-left", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__7.label" | |
}, | |
{ | |
"value": "bottom-center", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__8.label" | |
}, | |
{ | |
"value": "bottom-right", | |
"label": "t:sections.image-banner.settings.desktop_content_position.options__9.label" | |
} | |
], | |
"default": "middle-center", | |
"label": "t:sections.image-banner.settings.desktop_content_position.label" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "show_text_box", | |
"default": true, | |
"label": "t:sections.image-banner.settings.show_text_box.label" | |
}, | |
{ | |
"type": "select", | |
"id": "desktop_content_alignment", | |
"options": [ | |
{ | |
"value": "left", | |
"label": "t:sections.image-banner.settings.desktop_content_alignment.options__1.label" | |
}, | |
{ | |
"value": "center", | |
"label": "t:sections.image-banner.settings.desktop_content_alignment.options__2.label" | |
}, | |
{ | |
"value": "right", | |
"label": "t:sections.image-banner.settings.desktop_content_alignment.options__3.label" | |
} | |
], | |
"default": "center", | |
"label": "t:sections.image-banner.settings.desktop_content_alignment.label" | |
}, | |
{ | |
"type": "select", | |
"id": "color_scheme", | |
"options": [ | |
{ | |
"value": "accent-1", | |
"label": "t:sections.image-banner.settings.color_scheme.options__1.label" | |
}, | |
{ | |
"value": "accent-2", | |
"label": "t:sections.image-banner.settings.color_scheme.options__2.label" | |
}, | |
{ | |
"value": "background-1", | |
"label": "t:sections.image-banner.settings.color_scheme.options__3.label" | |
}, | |
{ | |
"value": "background-2", | |
"label": "t:sections.image-banner.settings.color_scheme.options__4.label" | |
}, | |
{ | |
"value": "inverse", | |
"label": "t:sections.image-banner.settings.color_scheme.options__5.label" | |
} | |
], | |
"default": "background-1", | |
"label": "t:sections.image-banner.settings.color_scheme.label", | |
"info": "t:sections.image-banner.settings.color_scheme.info" | |
}, | |
{ | |
"type": "header", | |
"content": "t:sections.image-banner.settings.header.content" | |
}, | |
{ | |
"type": "select", | |
"id": "mobile_content_alignment", | |
"options": [ | |
{ | |
"value": "left", | |
"label": "t:sections.image-banner.settings.mobile_content_alignment.options__1.label" | |
}, | |
{ | |
"value": "center", | |
"label": "t:sections.image-banner.settings.mobile_content_alignment.options__2.label" | |
}, | |
{ | |
"value": "right", | |
"label": "t:sections.image-banner.settings.mobile_content_alignment.options__3.label" | |
} | |
], | |
"default": "center", | |
"label": "t:sections.image-banner.settings.mobile_content_alignment.label" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "stack_images_on_mobile", | |
"default": true, | |
"label": "t:sections.image-banner.settings.stack_images_on_mobile.label" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "show_text_below", | |
"default": true, | |
"label": "t:sections.image-banner.settings.show_text_below.label" | |
} | |
], | |
"blocks": [ | |
{ | |
"type": "heading", | |
"name": "t:sections.image-banner.blocks.heading.name", | |
"limit": 1, | |
"settings": [ | |
{ | |
"type": "text", | |
"id": "heading", | |
"default": "Image banner", | |
"label": "t:sections.image-banner.blocks.heading.settings.heading.label" | |
}, | |
{ | |
"type": "select", | |
"id": "heading_size", | |
"options": [ | |
{ | |
"value": "medium", | |
"label": "t:sections.image-banner.blocks.heading.settings.heading_size.options__1.label" | |
}, | |
{ | |
"value": "large", | |
"label": "t:sections.image-banner.blocks.heading.settings.heading_size.options__2.label" | |
} | |
], | |
"default": "medium", | |
"label": "t:sections.image-banner.blocks.heading.settings.heading_size.label" | |
} | |
] | |
}, | |
{ | |
"type": "text", | |
"name": "t:sections.image-banner.blocks.text.name", | |
"limit": 1, | |
"settings": [ | |
{ | |
"type": "text", | |
"id": "text", | |
"default": "Give customers details about the banner image(s) or content on the template.", | |
"label": "t:sections.image-banner.blocks.text.settings.text.label" | |
}, | |
{ | |
"type": "select", | |
"id": "text_style", | |
"options": [ | |
{ | |
"value": "body", | |
"label": "t:sections.image-banner.blocks.text.settings.text_style.options__1.label" | |
}, | |
{ | |
"value": "subtitle", | |
"label": "t:sections.image-banner.blocks.text.settings.text_style.options__2.label" | |
}, | |
{ | |
"value": "caption-with-letter-spacing", | |
"label": "t:sections.image-banner.blocks.text.settings.text_style.options__3.label" | |
} | |
], | |
"default": "body", | |
"label": "t:sections.image-banner.blocks.text.settings.text_style.label" | |
} | |
] | |
}, | |
{ | |
"type": "buttons", | |
"name": "t:sections.image-banner.blocks.buttons.name", | |
"limit": 1, | |
"settings": [ | |
{ | |
"type": "text", | |
"id": "button_label_1", | |
"default": "Button label", | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_label_1.label", | |
"info": "t:sections.image-banner.blocks.buttons.settings.button_label_1.info" | |
}, | |
{ | |
"type": "url", | |
"id": "button_link_1", | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_link_1.label" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "button_style_secondary_1", | |
"default": false, | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_style_secondary_1.label" | |
}, | |
{ | |
"type": "text", | |
"id": "button_label_2", | |
"default": "Button label", | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_label_2.label", | |
"info": "t:sections.image-banner.blocks.buttons.settings.button_label_2.info" | |
}, | |
{ | |
"type": "url", | |
"id": "button_link_2", | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_link_2.label" | |
}, | |
{ | |
"type": "checkbox", | |
"id": "button_style_secondary_2", | |
"default": false, | |
"label": "t:sections.image-banner.blocks.buttons.settings.button_style_secondary_2.label" | |
} | |
] | |
} | |
], | |
"presets": [ | |
{ | |
"name": "t:sections.image-banner.presets.name", | |
"blocks": [ | |
{ | |
"type": "heading" | |
}, | |
{ | |
"type": "text" | |
}, | |
{ | |
"type": "buttons" | |
} | |
] | |
} | |
] | |
} | |
{% endschema %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment