无法从 Liquid 中的模板访问代码段中定义的变量
Can't access variable defined in Snippet from Template in Liquid
我有一个片段包含在多个模板中。它执行一些操作,然后根据这些操作的结果定义一些具有值的变量。然后模板需要以几种不同的方式使用这些值。
我似乎无法从模板访问代码段中定义的变量。一个非常淡化的例子:
Sinppets/colors.液体
{% assign myVar = "bar" %}
templates/color-picker.液体
{% assign myVar = "foo" %}
{% render 'colors' %}
{{ myVar }}
此输出为 foo
,而预期输出为 bar
。
是我做错了什么,还是这不可能?
你没有做错任何事,是的,这是不可能的,至少在render
.
在 render
调用的片段内声明的变量只能在该片段内访问。 Render 已替换现在已弃用的 include
,但允许您在上面的示例中实现您想要做的事情。
也就是说,您现在仍然可以使用 include
- 此处有更多信息 >> https://shopify.dev/api/liquid/tags/deprecated-tags#include
我有一个片段包含在多个模板中。它执行一些操作,然后根据这些操作的结果定义一些具有值的变量。然后模板需要以几种不同的方式使用这些值。
我似乎无法从模板访问代码段中定义的变量。一个非常淡化的例子:
Sinppets/colors.液体
{% assign myVar = "bar" %}
templates/color-picker.液体
{% assign myVar = "foo" %}
{% render 'colors' %}
{{ myVar }}
此输出为 foo
,而预期输出为 bar
。
是我做错了什么,还是这不可能?
你没有做错任何事,是的,这是不可能的,至少在render
.
在 render
调用的片段内声明的变量只能在该片段内访问。 Render 已替换现在已弃用的 include
,但允许您在上面的示例中实现您想要做的事情。
也就是说,您现在仍然可以使用 include
- 此处有更多信息 >> https://shopify.dev/api/liquid/tags/deprecated-tags#include