如何在液体中的液体或javascript变量中访问Shopify API?

时间:2016-08-16 16:27:30

标签: shopify liquid

据我所知,似乎这可能是不可能的。但是必须要做到这一点。我想要做的就是从API获取一些信息,并将其传递给液体变量。也许还有另一种方式。

1 个答案:

答案 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 %}

});