shopify轮播图添加移动端选项

682 阅读4分钟

Shopify轮播图添加移动端选项:打造更佳的移动端体验

在当前移动优先的时代,确保网站在不同设备上都有良好的显示效果至关重要。特别是在Shopify这样的电子商务平台上,一个适配良好的移动端轮播图能够显著提升用户体验。本文将详细介绍如何在Shopify的轮播图中添加移动端选项,从而为移动设备用户提供专属的视觉体验。

image.png

一、为什么要为移动端优化轮播图?

随着移动设备的普及,越来越多的用户通过手机访问在线商店。然而,传统的桌面端轮播图在移动设备上的表现可能并不理想。例如,宽屏设计的图片在窄屏手机上显示时,往往无法清晰呈现重点内容。因此,为移动端设计专门的轮播图至关重要。

二、实现步骤

我们将通过修改Shopify主题中的slideshow.liquid文件,添加CSS和渲染代码来实现这一功能。

1. 添加移动端适配的CSS

首先,在slideshow.liquid文件中添加以下CSS代码。这段代码确保在移动设备上显示专属的轮播图,而隐藏桌面端的图片。

<style>
.slideshow__image-wrapper .mobile-banner {
  display: none;
}

@media (max-width: 767px) {
  .slideshow__image-wrapper .desktop-banner {
    display: none;
  }
  .slideshow__image-wrapper .mobile-banner {
    display: block;
  }
}

.slideshow__image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 保持图片的宽高比并且填充容器 */
}

@media (max-width: 767px) {
  slideshow-component {
    height: 250px;
  }
  .slideshow {
    height: 100%;
  }
}
</style>

这段代码通过@media查询在屏幕宽度小于767px时,隐藏桌面端图片,并显示移动端图片。此外,还调整了图片的宽高和展示效果,确保图片在各种屏幕上都能自适应地显示。

2. 修改渲染代码

接下来,我们需要修改图片的渲染代码,以便支持移动端图片的加载。以下是修改后的代码:

{%- if block.settings.image -%}
  {%- liquid
    assign height = block.settings.image.width | divided_by: block.settings.image.aspect_ratio | round
    if section.settings.image_behavior == 'ambient'
      assign sizes = '120vw'
      assign widths = '450, 660, 900, 1320, 1800, 2136, 2400, 3600, 7680'
    else
      assign sizes = '100vw'
      assign widths = '375, 550, 750, 1100, 1500, 1780, 2000, 3000, 3840'
    endif
    assign fetch_priority = 'auto'
    if section.index == 1
      assign fetch_priority = 'high'
    endif
  -%}
  <div class="slideshow__image-wrapper">
    <!-- 桌面端 Banner -->
    {%- if forloop.first %}
      {{
        block.settings.image
        | image_url: width: 3840
        | image_tag: height: height, sizes: sizes, widths: widths, fetchpriority: fetch_priority, class: 'desktop-banner'
      }}
    {%- else -%}
      {{
        block.settings.image
        | image_url: width: 3840
        | image_tag: loading: 'lazy', height: height, sizes: sizes, widths: widths, class: 'desktop-banner'
      }}
    {%- endif -%}

    <!-- 移动端 Banner -->
    {%- if block.settings.mobile_image -%}
      {{
        block.settings.mobile_image
        | image_url: width: 3840
        | image_tag: loading: 'lazy', height: height, sizes: sizes, widths: widths, class: 'mobile-banner'
      }}
    {%- endif -%}
  </div>
{%- else -%}
  {%- assign placeholder_slide = forloop.index | modulo: 2 -%}
  {%- if placeholder_slide == 1 -%}
    {{ 'hero-apparel-2' | placeholder_svg_tag: 'placeholder-svg' }}
  {%- else -%}
    {{ 'hero-apparel-1' | placeholder_svg_tag: 'placeholder-svg' }}
  {%- endif -%}
{%- endif -%}

这段代码在原有的基础上,添加了移动端图片的支持。如果用户在移动设备上访问页面,并且已为移动端上传了专门的图片,系统将优先加载该图片。否则,仍会加载桌面端的图片。

3. 在Schema中添加移动端图片选项

最后,我们需要在Schema配置文件中为轮播图添加移动端图片的上传选项:

{
  "type": "image_picker",
  "id": "image",
  "label": "桌面端图片",
  "info": "3000 x 1000 recommended"
},
{
  "type": "image_picker",
  "id": "mobile_image",
  "label": "移动端图片",
  "info": "860 x 500 recommended"
}

通过以上配置,店铺管理员可以在设置轮播图时分别上传桌面端和移动端的图片,确保在不同设备上有良好的展示效果。

三、总结

通过以上步骤,我们为Shopify轮播图添加了移动端适配功能。这样可以确保店铺的视觉效果在移动设备上更加出色,提升用户体验和转化率。随着移动流量的不断增长,为移动端用户优化网站已经成为必不可少的一步。希望我们都能在优化的道路上走的越来越远,加油!