自定义滑块中的 Shopify Img Url 大小

Shopify Img Url Size In Custom Slider

我有一个 shopify 博客,每篇文章都使用自定义 carousel/slider。我已设法使其动态化,以便它将文章的所有 img 标签拉入 slider with a popup thumbnail menu

我现在遇到的问题是将 shopify's img_url filters 应用于幻灯片和缩略图,以便我可以自动调整大小。

这是我目前的情况:

<!-- BEGIN SLIDER CODE -->
<div class="slider-pro">
  <div class="sp-slides">

    {% if article.content contains "<img" %}
     {% assign content-src = article.content | split: 'src="' %}
     {% assign content-size = content-src.size | minus:1 %}
     {% for i in (1..content-size) %}
         {% assign src = content-src[i] | split: '"' | first | replace: '//cdn', 'https://cdn';;; | replace: 'http:http://';;;, 'http://';;; | remove: 'https:' %}

         <!-- SLIDE # -->
         <div class="sp-slide">
           <!-- Slide image -->
           <img class="sp-image" src="{{src}}" />
           <!-- Thumbnail image -->
           <img class="sp-thumbnail" src="{{src}}" />
         </div>
         <!-- END SLIDE # -->

     {% endfor %}

     {% else %}

    {% endif %}
  </div>
 </div>
<!-- Slider Buttons (Don't edit!) -->
    Slider button code here....
<!-- End Slider Buttons -->
<!-- END SLIDER CODE --->

我正在尝试对 {{src}} 调用做一些事情,这样我就可以添加图像大小过滤器,例如:

src="{{ src | article_img_url: '1200x' }}"

幻灯片和

src="{{ src | article_img_url: '100x100' }}"

缩略图。

但这似乎不起作用。我需要重构它,但不知道如何重构。我是 shopify 和 liquid 的新手,所以如果有人有任何意见,我将不胜感激!

非常感谢!

目前无法测试,但您可以这样做:

{% assign thumb_size = '_300x.jpeg' %}
{% if article.content contains "<img" %}
    {% assign content_array = article.content | split: 'src="' %}
    {% for content_item in content_array offset: 1 %}
        {% assign src = content_item | split: '"' | first %}
        {% assign thumbnail = src | replace: '.jpeg', thumb_size %}
        <!-- SLIDE # -->
        <div class="sp-slide">
            <!-- Slide image -->
            <img class="sp-image" src="{{src}}" />
            <!-- Thumbnail image -->
            <img class="sp-thumbnail" src="{{thumbnail}}" />
        </div>
        <!-- END SLIDE # -->
    {% endfor %}
{% endif %}