gpt4 book ai didi

shopify - 布局和模板之间的液体变量范围

转载 作者:行者123 更新时间:2023-12-03 17:16:41 51 4
gpt4 key购买 nike

是否可以在模板文件中可见的布局文件中定义液体变量?

中定义的变量布局 (例如 theme.liquid )对通过 <% include %> 包含的任何片段可见(反之亦然)。

中定义的变量模板 (例如 index.liquid )在通过 <% include %> 包含的任何片段中可见(例如 product-grid-item.liquid)并且在布局文件 中也可见.

然而,布局中定义的变量似乎对模板不可见。据推测,在评估布局之前评估模板。有没有办法覆盖这种行为?

最佳答案

目前在 Shopify 中,Liquid 变量无法从布局传递到模板中。
解决这个问题的一种方法是将相同的逻辑执行两次,可能是在一个片段中。然后在布局和模板中放置相同的片段。
还值得注意的是 Shopify Liquid 范围的主题,因为它没有在任何地方记录是在部分内定义的变量范围在该部分内,不能在外部访问。
编辑:
也是关于 Shopify Liquid 变量范围的主题。
现在还有 {% render %}强制使用显式传入的所需变量调用代码段的标记。
例如,您可以使用 include 执行此操作

{% assign name = 'cart' %}
{% include 'icon' %}
或者,您可以使用具有一些性能优势的渲染标签。只需确保明确传递 name 变量即可。
{% render 'icon' name: 'cart' %}

<!-- OR -->

{% assign name = 'cart' %}
{% render 'icon' name: name %}
使用 render 的好处是变量总是限定在代码段内,这可以防止一些令人困惑的错误。此外,Shopify 的服务器还具有很高的速度性能,这将改善第一个字节的时间。

关于shopify - 布局和模板之间的液体变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977750/

51 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com