Impact theme - slideshow video link

Topic summary

A user is experiencing a bug with the Impact theme’s slideshow feature where placing a video block in any position other than first causes that video’s button link to incorrectly appear on the first slide’s button.

Technical Investigation:

  • The theme appears designed to only support videos in the first slide position
  • Issue likely stems from how the theme handles button links dynamically in Liquid or JavaScript
  • User examined the slideshow.liquid code and found the slide capture logic
  • Attempted fix: Repositioning the {%- capture slide -%} tag, but the bug persists

Current Status:

  • Problem remains unresolved
  • Further investigation needed into how the slideshow structures data and assigns links
  • May require deeper modifications to the theme’s Liquid templates or JavaScript files to properly handle video blocks in non-first positions
Summarized with AI on October 30. AI used: claude-sonnet-4-5-20250929.

Hello, I’m having a problem on the Shopify homepage of the Impact theme.

In my slideshow block, if I use a video block, for example, in the third position, the button link for that video block is then used for the button in the first position.

It seems the theme only allows for a video to appear on the first slide; otherwise, I have a problem with the link. Unfortunately, I need to have a video somewhere other than the first position.

How can I fix this problem, please?

2 Likes

It sounds like the Impact theme might not be properly handling button links when a video block is placed in a slide that isn’t first. This could be due to how the theme assigns links dynamically in Liquid or JavaScript.

You may want to check how the slideshow’s code references button links—especially in slideshow.liquid and any related JavaScript files. Sometimes, themes are designed with assumptions about content order, and tweaking the way links are assigned could resolve the issue.

Have you looked into how the theme structures the slideshow data? That could be the key to fixing t

his.

Hello Paul,
Thank you very much for your responsiveness. I’ll try to look into it and get back to you.

I looked and there is :

{%- capture slide -%}
... tout le contenu de la slide ...
{%- endcapture -%}

{%- if block.settings.button_link != blank and block.settings.button_text == blank -%}
<a id="block-{{ block.id }}" href="{{ block.settings.button_link }}" class="slideshow__slide {% if forloop.first %}is-selected{% endif %}" data-slide-type="{{ block.type }}" role="group" {{ block.shopify_attributes }}>
{{- slide -}}
</a>
{%- else -%}
<div id="block-{{ block.id }}" class="slideshow__slide {% if forloop.first %}is-selected{% endif %}" data-slide-type="{{ block.type }}" role="group" {{ block.shopify_attributes }}>
{{- slide -}}
</div>
{%- endif -%}

So I moved {%- capture slide -%} in front of each {{- slide -}}. But the bug persists.