据我所知,似乎这可能是不可能的。但是必须要做到这一点。我想要做的就是从API获取一些信息,并将其传递给液体变量。也许还有另一种方式。
答案 0 :(得分:0)
由于液体渲染服务器端,您无法将javascript变量传递到模板引擎中。但是,您可以在javascript函数中嵌入液体模板代码。 shopify论坛上有一篇文章,其中包含一些可能有用的示例代码:Pass variable from Java script to liquid?
例如:
$(function() {
new Shopify.OptionSelectors("product-select", { product: {{ product | json }}, onVariantSelected: selectCallback });
// Add label if only one product option and it isn't 'Title'.
{% if product.options.size == 1 and product.options.first != 'Title' %}
$('.selector-wrapper:eq(0)').prepend('<label>{{ product.options.first }}</label>');
{% endif %}
// Auto-select first available variant on page load.
{% assign found_one_in_stock = false %}
{% for variant in product.variants %}
{% if variant.available and found_one_in_stock == false %}
{% assign found_one_in_stock = true %}
{% for option in product.options %}
$('.single-option-selector:eq({{ forloop.index0 }})').val({{ variant.options[forloop.index0] | json }}).trigger('change');
{% endfor %}
{% endif %}
{% endfor %}
});