如何通过 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}}
我正在尝试 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}}