【问题标题】:Selecting product tag based on specific pattern in Shopify Liquid theme根据 Shopify Liquid 主题中的特定模式选择产品标签
【发布时间】:2019-12-25 02:35:59
【问题描述】:

我是 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-shirt-At-shirt-B有相似的标签"t"mug-Amug-B有相似的标签"m"强>等...

您还可以看到t-shirt-A, mug-A and Phonecase-A 有一个共同的第二个标签-dog1-。尽管它们属于不同的集合/类别,但除了特定的第一个标签外,它们还有 -dog1- 标签。我给了他们额外的 -dog1- 标签,因为他们身上有相同的狗图像。

t-shirt-A, mug-A and Phonecase-A 上面有相同的狗图像。

现在我想要实现的是当用户在t-shirt-A 的产品详细信息页面中时,我想显示具有相同图像的其他产品(来自不同类别)。在这种情况下,我希望我的液体主题显示 mug-APhonecase-A,这样用户就会看到 T 恤上的图像也在杯子和手机壳上。

我遵循了 Liquid 的所有教程以及 filters,但我找不到任何过滤器可以帮助我选择具有模式匹配的当前产品的标签,例如 -[a-zA- Z]-.

我说模式匹配的原因是其他 T 恤、杯子和手机壳上会有 -dog2- 图像。

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

【问题讨论】:

    标签: shopify liquid shopify-template


    【解决方案1】:

    不要寻找正则表达式选项,而是使用自定义标签前缀来帮助您确定相关标签。

    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 变量中的值,您就可以遍历其他集合并使用具有相同标签的产品。

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

    Shopify Metafields API

    Shopify Metafields Object

    【讨论】:

    • 感谢您的回答。我很感激
    猜你喜欢
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    相关资源
    最近更新 更多