【问题标题】:Shopify Img Url Size In Custom SliderShopify 自定义滑块中的 Img 网址大小
【发布时间】:2019-03-03 18:58:52
【问题描述】:

我有一个 shopify 博客,它为每篇文章使用自定义轮播/滑块。我已设法使其动态化,以便它将文章的所有 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的新手,所以如果有人有任何意见,将不胜感激!

非常感谢!

【问题讨论】:

    标签: javascript image slider shopify liquid


    【解决方案1】:

    目前无法测试,但您可以执行以下操作:

    {% 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 %}
    

    【讨论】:

    • 从理论上讲,我可以理解为什么这会起作用。如果您在代码检查器中更改像素尺寸,Shopify cdn 将自动将图像替换为重新采样的版本。但是,刷新页面时,仍会加载默认大小,并且不会将缩略图.jpeg 替换为thumb_size
    • 实际上,它确实有效!我将.jpeg 替换为_1024x1024.jpg 并正确重新采样。
    • @Mark Genest 很高兴听到它奏效了。您可以扩展它以检查您是否有不同的扩展名,例如 .jpeg.png 并替换它们,但您已经掌握了它。 :) 请记住,此代码不考虑 IFRAMES,因为它们也具有 src 属性。如果您希望 iframe 也被添加,您还需要对其进行更多扩展。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2021-11-04
    相关资源
    最近更新 更多