Предполагая, что custom_fields содержит эти данные, и я хочу выяснить, есть ли у него элемент / объект с именем = "hide_options". Я хочу передать это компоненту.
ПРЕДУПРЕЖДЕНИЕ
Использование вхождений таким способом - это хак . Если имя недостаточно уникально, вы можете получить ложные срабатывания
[
{"id":"12","name":"hide_options","value":"true"},
{"id":"13","name":"state","value":"colorado"},
{"id":"14","name":"city","value":"colorado, springs"}
]
Самое близкое, что я придумал, это:
шаблоны \ компоненты \ продукты \ product-view.html
{{> components/products/conditionallyVisibile
hideOptions=(occurrences (join (pluck product.custom_fields "name") ",") "hide_options")
}}
компоненты / продукты / условно Visibile.html
<div>
hideOptions {{ hideOptions }}
</div>
Мне не хватает более простого помощника Array или Collection, который мог бы сделать это проще? Большинство помощников Array / Collection являются помощниками блоков.
EDIT:
Мне не хватало значительно более простого способа сделать это с помощью Filter Array Helper
{{#filter product.custom_fields "hide_options" property="name"}}
{{> components/products/conditionallyVisibile hideOptions=true }}
{{else}}
{{> components/products/conditionallyVisibile hideOptions=false }}
{{/filter}}
РЕДАКТИРОВАТЬ 2:
скалярная форма
(occurrences (join (pluck product.custom_fields "name") ",") "hide_options")
почти эквивалентен блочной форме
{{#inArray (pluck product.custom_fields 'name') 'hide_options' }}