在Shopify Liquid主题中根据特定模式选择产品标签

在Shopify Liquid主题中根据特定模式选择产品标签,shopify,liquid,shopify-template,Shopify,Liquid,Shopify Template,我对Shopify Liquid主题语言还不熟悉,并试图找到自己的方法。我的Shopify商店中有以下产品及其标签: CATEGORY CLOTHING t-shirt-A - Tags: t, -dog1- t-shirt-B - Tags: t, cat2 CATEGORY MUG mug-A - Tags: m, -dog1- mug-B - Tags: m, cat2 CATEGORY PHONECASE

我对Shopify Liquid主题语言还不熟悉,并试图找到自己的方法。我的Shopify商店中有以下产品及其标签:

CATEGORY CLOTHING
    t-shirt-A
     - Tags: t, -dog1-

    t-shirt-B
     - Tags: t, cat2

CATEGORY MUG
    mug-A
     - Tags: m, -dog1-

    mug-B
     - Tags: m, cat2

CATEGORY PHONECASE
    phonecase-A
     - Tags: p, -dog1-

    phonecase-B
     - Tags: p, cat2
从以上产品中,您可以看到t恤A和t恤B具有相似的标签t,马克杯A和马克杯B具有相似的标签m,等等

你还可以看到t恤A、马克杯A和手机壳A都有一个共同的第二个标签dog1。虽然它们属于不同的集合/类别,但除了特定的第一个标记外,它们还有-dog1-标记。我给了他们额外的-dog1-标签,因为他们有相同的狗形象

t恤A、马克杯A和手机壳A上都有相同的狗形象

现在我想实现的是,当用户在t恤a的产品详细信息页面中时,我想显示不同类别的其他产品,这些产品上有相同的图像。在本例中,我希望我的liquid主题显示mug-A和Phonecase-A,以便用户可以看到t恤上的图像也在mug-A和Phonecase上

我已经学习了Liquid的所有教程,但是我找不到任何过滤器可以帮助我选择当前产品的标签,比如-[a-zA-Z]-

我之所以说模式匹配,是因为其他t恤、马克杯和手机壳上都会有狗的图案


因此,我认为,通过模式匹配,您可以从当前的产品标签阵列中选择一个特定的标签,该标签匹配例如-[a-zA-Z]——当您有这个特定的标签时,您可以将它与所有类别中的所有标签进行比较,并选择具有相同标签的产品。

而不是寻找正则表达式选项,使用可帮助您确定相关标记的自定义标记前缀

tagPrefix:tagname
这样做,您的输入将变成

CATEGORY CLOTHING
    t-shirt-A
     - Tags: t, sameImage:dog1

    t-shirt-B
     - Tags: t, sameImage:cat2

CATEGORY MUG
    mug-A
     - Tags: m, sameImage:dog1

    mug-B
     - Tags: m, sameImage:cat2

CATEGORY PHONECASE
    phonecase-A
     - Tags: p, sameImage:dog1

    phonecase-B
     - Tags: p, sameImage:cat2
然后在产品模板中,首先找到相同的图像标签。你可以用

{% for tag in product.tags %}
    {% if tag contains 'sameImage:' %}
      {% assign tagFound = tag %}
    {% endif %}
{% endfor %}
一旦在tagFound变量中有了值,就可以迭代其他集合并使用具有相同标记的产品

然而,在我看来,由于产品集合上的循环过多,上述方法看起来效率低下。另一种更好的方法是使用产品元字段保存产品句柄的信息,然后使用所有产品检索链接的产品


谢谢你的回答。我很感激