Использование строки для создания переменной Liquid - PullRequest
0 голосов
/ 24 мая 2018

В моем магазине shopify я использую SuperFields для настройки своего сайта, хотя мой вопрос не о приложении.На одной из моих страниц мне нужно следующее значение:

variant.metafields.sf_{{ collection.title | downcase }}[meta_tag_key]

Значение должно быть 0 или 1. Если я оцениваю утверждение непосредственно, например:

{if variant.metafields.sf_{{ collection.title | downcase }}[meta_tag_key] =1%}

Выдает ошибку при отображении страницы: неожиданный символ '{'

. Я также попробовал следующее:

{% capture defaultImage %}variant.metafields.sf_{{ collection.title | downcase }}[meta_tag_key]{% endcapture %}
{% assign test = defaultImage %}

Но 'test' считается nil и не возвращаетлюбое значение.Я пытался найти ответы здесь и на форуме shopify, но, как подсказывает мой неуклюжий заголовок поста, у меня возникают трудности с кратким поиском решения этой проблемы.Любая помощь с благодарностью.

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Вы можете попробовать:

{% assign metafield-key = collection.title | downcase | prepend: "sf_" %}
{% assign key = variant.metafields[metafield-key][meta_tag_key] %}
{% if key == 1 %}
  Do the twist !
{% endif %}
0 голосов
/ 26 мая 2018

Если вы работаете в жидкости, то вы должны использовать {%%} для определения любой переменной, а также для условия в shopify.Вы не можете использовать {это.

0 голосов
/ 24 мая 2018

В вашем коде отсутствует знак%.Отсюда и сообщение об ошибке.Ваше заявление if началось с {%, а не просто {

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...