我正在编辑的Shopify主题中的一个馆藏使用以下设置:Products must match
- Variant's Title
包含Red
我如何调整collection-loop.liquid
模板(或其他片段?)以使此集合使用与 Red 相关联的相关变体产品图像作为缩略图,而不会弄乱其他藏品?
答案 0 :(得分:1)
Shopify允许您为每种主要类型的页面制作多个模板,并设置您要在管理中使用的模板。
第1步:为您的实时主题打开主题编辑器
第2步:创建您的红色'模板
第3步:对文件进行任何所需的更新,以显示您的红色。
template.suffix
variant.title contains template.suffix
- 然后您可以创建collections.blue,collections.green等,而不需要对该代码段进行进一步编辑。第4步:预览备用模板以确保它能够满足您的需求
/collections/shirts?view=red
- view=red
部分是告诉Shopify加载备用模板的部分。第5步:重复步骤3& 4直到你对结果满意为止。
第6步:将新的收藏模板应用到您想要默认为这种酷炫(热门?)新风格的集合。
此部分的复杂程度会有所不同,具体取决于产品的设置方式。我将假设每个名为' Color'的产品都有一个选项,但是那个' Color'可以是产品上的三个选项列中的任何一个(即,我们不能假设第一个选项始终是颜色选项)
第1步:制作一个新的代码段以包含图像查找逻辑(它可以保持我们的代码清洁和可重复使用)
第2步:在备用收藏模板中,找到您的产品循环并添加新代码段
首先,找到产品循环。它应该看起来像{% for product in collection.products %}
在上述行之后,立即添加{% include 'find-color-image', color: template.suffix, product:product %}
(假设您的模板名称与您要查找的颜色相匹配 - 否则,将template.suffix
更改为您想要的颜色(用引号括起来) ,例如'red'
)
第3步:构建find-color-image代码段。以下代码应该执行您正在寻找的内容。
{% comment %} find-color-image.liquid: Given a product and a colour,
set a variable named color_image as the first variant image that matches the specified colour {% endcomment %}
{% comment %} Clear any leftover variables from previous includes {% endcomment %}
{% assign color_image = nil %}
{% comment %} Loop through the variants to find one matching our colour {% endcomment %}
{% for variant in product.variants %}
{% comment %} We don't care about any variants without a featured image - skip those using continue {% endcomment %}
{% unless variant.featured_image %}{% continue %}{% endunless %}
{% comment %}Make sure the comparison is case-insensitive. The variable named color is expected to be passed when this snippet is included {% endcomment %}
{% assign opt1 = variant.option1 | downcase %}
{% assign opt2 = variant.option2 | downcase %}
{% assign opt3 = variant.option3 | downcase %}
{% assign target_color = color | downcase %}
{% comment %} Check to see if one of the above options matches our target colour {% endcomment %}
{% if opt1 == target_color or opt2 == target_color or opt3 == target_color %}
{% assign color_image = variant.featured_image %}
{% break %}
{% endfor %}
{% endfor %}
第4步:更新收藏模板中的图片链接
color_image
变量。希望这有帮助!