Shopify liquid:我如何有条件地在Shopify液体中包含片段?

vov*_*man 9 api include liquid code-snippets shopify

我想在模板中包含一个代码段,但仅在代码段文件存在时才包含.有什么办法可以吗?

现在我只是使用:

{% include 'snippetName' %}
Run Code Online (Sandbox Code Playgroud)

但这会引发错误:

Liquid error: Could not find asset snippets/snippetName.liquid
Run Code Online (Sandbox Code Playgroud)

我需要这样一个功能的原因是因为我有一个后台进程,稍后会添加该代码段.

小智 22

我自己有这个问题.这是我的解决方案:

{% capture the_snippet_content %}{% include the_snippet %}{% endcapture %}
{% unless the_snippet_content contains "Liquid error" %}
  {% include reviews_snippet %}
{% endunless %}
Run Code Online (Sandbox Code Playgroud)

基本上将代码段的内容捕获为变量.如果没有代码片段,Shopify会生成错误:

液体错误:无法找到资产片段/ caroline-flint-reviews.liquid

因此,请检查是否生成了...如果是这样,请不要打印代码段:D

当然,如果您希望您的代码段包含"Liquid error"或Shopify更改错误消息,则会中断.