Created
December 21, 2022 08:45
-
-
Save liamgriffin/e1a1aa90bf017fd2207b3e3836c81c53 to your computer and use it in GitHub Desktop.
Shopify theme section that displays videos that are both hosted externally and on the Shopify admin
This file contains 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
<div class='video-section'> | |
<h2>{{ section.settings.heading }}</h2> | |
{% for block in section.blocks %} | |
{% case block.type %} | |
{% when 'video-stored' %} | |
<div class="stored-video" {{ block.shopify_attributes }}> | |
{{ block.settings.video | media_tag }} | |
</div> | |
{% when 'external-video' %} | |
<div class ="external-video"{{ block.shopify_attributes }}> | |
{%- if block.settings.video_url.type == 'youtube' -%} | |
<iframe src="https://www.youtube.com/embed/{{ block.settings.video_url.id }}" class="youtube" title="{{ block.settings.description | escape }}" allow="autoplay; encrypted-media"></iframe> | |
{%- else -%} | |
<iframe src="https://player.vimeo.com/video/{{ block.settings.video_url.id }}" class="vimeo" title="{{ block.settings.description | escape }}" allow="autoplay; encrypted-media"></iframe> | |
{%- endif -%} | |
</div> | |
{% endcase %} | |
{% endfor %} | |
</div> | |
{% schema %} | |
{ | |
"name": "Videos", | |
"settings": [ | |
{ | |
"type": "text", | |
"id": "heading", | |
"label": "Custom content heading", | |
"default": "Title" | |
} | |
], | |
"max_blocks": 1, | |
"blocks": [ | |
{ | |
"name": "Shopify Hosted Video", | |
"type": "video-stored", | |
"settings": [ | |
{ | |
"type": "video", | |
"id": "video", | |
"label": "A Shopify-hosted video" | |
} | |
] | |
}, | |
{ | |
"name": "External Video", | |
"type": "external-video", | |
"settings": [ | |
{ | |
"type": "video_url", | |
"id": "video_url", | |
"accept": [ | |
"youtube", | |
"vimeo" | |
], | |
"default": "https://www.youtube.com/watch?v=_9VUPq3SxOc", | |
"label": "URL", | |
"info": "Video plays in the page." | |
}, | |
{ | |
"type": "text", | |
"id": "description", | |
"label": "Video alt text", | |
"info": "Describe the video for customers using screen readers." | |
} | |
] | |
} | |
], | |
"presets": [ | |
{ | |
"name": "Videos" | |
} | |
] | |
} | |
{% endschema %} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment