BigCommerce 类别名称作为把手中的过滤器

BigCommerce Category Name as a Filter in Handlebars

我的产品有自定义字段,我设置这些字段是为了自定义排序。有些产品属于多个类别,因此我为产品所属的每个类别创建了一个自定义字段。我一直在将自定义字段名称设置为类别名称,将自定义字段值设置为排序顺序。现在我需要在类别页面上调用适当的名称和值。

我试过以下方法:

{{#filter custom_fields 'category.name' property='name'}}
{{#filter custom_fields category.name property='name'}}
{{#filter custom_fields '{{category.name}}' property='name'}}
{{#filter custom_fields {{category.name}} property='name'}}

是否可以使用类别名称作为自定义字段名称过滤器?请问 explain/show 怎么做?蒂亚

第二个正确。但是,由于您处于产品卡(每个 category.products)的上下文中,因此类别上下文丢失了。您需要添加 ../(或 2)才能返回上一级。例如:{{#filter custom_fields ../category.name property='name'}}.

但是,这可能仍然行不通。过去在组件中工作并尝试获取父级上下文时,我 运行 遇到过问题。确保变量正确传递的一种简单方法是在包含卡片组件的行中指定它。它可能会在 grid.html 文件中找到,并且类似于:{{>components/products/card settings=../settings show_compare=../show_compare show_rating=../settings.show_product_rating theme_settings=../theme_settings customer=../customer event=../event position=(add @index 1)}}.

只需在此处添加类别名称即可:{{>components/products/card settings=../settings show_compare=../show_compare show_rating=../settings.show_product_rating theme_settings=../theme_settings customer=../customer event=../event position=(add @index 1) category_name=../category.name}}.

现在,您可以更改原始过滤器代码以仅使用新变量:{{#filter custom_fields category_name property='name'}}