Shopify: Как я могу показать текущее значение варианта только в жидкости?

Я создаю канал продукта с использованием XML + Liquid и пытаюсь отправить информацию о цвете и размере в формате, показанном ниже:

Ex. <color>синий</color><size>M</size>

Жидкий код, приведенный ниже, успешно извлекает и выводит имя опции, но отображает все ее значения вместо текущего варианта.

Вот мой текущий код для обзора:

{% for variant in product.variants %}

    {% for product_option in product.options_with_values %}
    <{{ product_option.name }}>{% for value in product_option.values %}{{ value }}{% endfor %}</{{ product_option.name }}>
    {% endfor %}

{% endfor %}

Вот пример вывода, который я получаю

Снимок экрана: канал выводит значения

Любая обратная связь будет принята с благодарностью!

2 ответа

Вот как это удалось:

{% if product.options.size == 1 %} <{{ product.options.first }}>{{ variant.option1 }}</{{ product.options.first }}> % else %} <{{ product.options.first }}>{{ variant.option1 }}</{{ product.options.first }}> <{{ product.options[1] }}>{{ variant.option2 }}</{{ product.options[1] }}> {% endif %}

Где вывод:

<color>White</color> <size>S</size>

Если у вас есть более простое решение во всех отношениях:)

Я не уверен, что буду следовать вам на 100%, но из вашего примера вы должны сделать это вместо этого:

{% for product_option in product.options_with_values %}
    {%- for value in product_option.values -%}
        <{{ product_option.name }}>{{value}}</{{ product_option.name }}>
    {%- endfor -%}
{% endfor %}

Где этот вывод будет:

<color>Blue</color><color>Red</color><color>Green</color>...<size>M</size><size>S</size>...

Другие вопросы по тегам