原始标签内的 shopify 存储变量

shopify store variable inside raw tag

我正在编辑一个 shopify 模板液体页面,其中包含

{%raw%} {{item}} {% endraw %}

我通过添加来测试代码:

{%raw%} {% assign myvar = {{item}} %} {{myvar}} {% endraw %}

而不是将其全部打印为原始 html,我是否可以克服这个问题,因为我需要在特定标签中打印出变量

谢谢!

更新:

  {% raw %}
    <form action="/cart" method="post" novalidate class="cart ajaxcart">
      <div class="ajaxcart__inner">
        {{#items}}
        <div class="ajaxcart__product">
          <div class="ajaxcart__row" data-line="{{line}}">
            <div class="grid">
              <div class="grid__item one-quarter">
                <a href="{{url}}" class="ajaxcart__product-image"><img src="{{img}}" alt=""></a>
              </div>
              <div class="grid__item three-quarters item-meta">
                <div class="grid--full display-table">
                  <div class="grid__item display-table-cell three-quarters cart-item">

                      <a href="{{url}}" class="ajaxcart__product-name">
                        {{name}}
                      </a>

类似这样的东西,但是一旦我以某种方式删除了原始标签,里面的内容就不会呈现了??

看起来您正在尝试对将通过 Javascript 呈现的模板执行某些操作,该模板在解析完所有 Liquid 代码后运行 - 因此即使您的分配有效,您会得到文字字符串 {{item}},我怀疑这是你想要的。

这看起来像是 Timber 主题系列之一的代码 - 例如 Supply 或 Brooklyn 或它们的相关主题之一。这些都是 Javascript 变量的占位符,而不是 Liquid 变量。 Liquid 仅在页面加载时呈现一次,而您正在查看的模板用于在购物者更改其购物车内容时随时对页面进行实时更新。如果你想在其中添加新变量,则需要通过主 javascript 文件添加它们 - 通常命名为 "app.js" 或 "theme.js" 并且可以在主题的 Assets 文件夹中找到。

如果我对主题系列的看法是正确的,您应该在名为 buildCart 的核心主题文件中找到一个函数,它构建传递给该模板的信息。如果您将新变量添加到 buildCart 发送到该模板的对象,您可以将新变量的占位符作为 {{ myVar }} 用于文本显示,如果您的变量包含 HTML 格式