如何通过 Bigcommerce 中名称字段中的多个值过滤 product.custom_fields

How to filter product.custom_fields by multiple values in name filed in Big Commerce

我正在尝试 return 所有 product.custom_fields 除非名称字段包含 'Feature, Width, Height or Depth'.

如果按一个值过滤,我可以通过使用以下两个代码变体来使逻辑工作:

{{#each product.custom_fields}}
            {{#unless (occurrences name 'Height')}}
            {{else}}
              <tr>
                <th>{{ name }}</th>
                <td>{{ sanitize value }}</td>
              </tr>
            {{/unless}}
          {{/each}}

{{#each product.custom_fields}}
              {{#startsWith 'Feature' name}}
              {{else}}
                {{#if value '!==' 'true'}}
                  <tr>
                    <th>{{ name }}</th>
                    <td>{{ sanitize value }}</td>
                  </tr>
                {{/if}}
              {{/startsWith}}
            {{/each}} 

但是当尝试对多个相同时它会中断。例如

{{#unless (occurrences name 'Height' occurrences name 'Width' occurrences name 'Depth' occurrences name 'Feature')}}

Handlebars 是我才刚刚开始使用的东西,所以任何尝试进行更复杂过滤的建议/最佳实践将不胜感激:)

Unless、StartsWith、If、Contains 都只看单项。要对多个项目进行分组,您实际上需要使用不同的助手: and, or, all , any.

一个这样的例子:

{{#each product.custom_fields}}
{{#any (occurrences name 'Height') (occurrences name 'Width') (occurrences name 'Depth') (occurrences name 'Feature')}}
{{else}}
    <tr>
    <th>{{ name }}</th>
    <td>{{ sanitize value }}</td>
    </tr>
{{/any}}
{{/each}}