将{{raw}}变量传递给snippet-Shopify

将{{raw}}变量传递给snippet-Shopify,shopify,liquid,Shopify,Liquid,我创建了一个简单的AJAX请求,该请求将反馈到头模板。但是,我似乎无法执行以下任何操作:分配,捕获,渲染,包含 <script id="CartPopover" type="text/x-handlebars-template"> {% raw %} {{#items}} {% render "cart-item", item: item %} {{/items}}

我创建了一个简单的AJAX请求,该请求将反馈到头模板。但是,我似乎无法执行以下任何操作:
分配
捕获
渲染
包含

<script id="CartPopover" type="text/x-handlebars-template">
      {% raw %}
       {{#items}}
        {% render "cart-item", item: item %}
       {{/items}}
      {% endraw %}
    </div>

你误解了Shopify的工作原理。液体代码在页面加载时由Shopify解析一次。Shopify创建了一个巨大的HTML、CSS和JS字符串,并将其转储到浏览器中

一旦进入Javascript领域,就不再使用Liquid了。相反,你在玩数据游戏。因此,如果您想更新购物车,可以使用Javascript。如果您想知道购物车中有什么,可以使用Javascript。如果要重新呈现购物车的内容,可以将不再喜欢的DOM替换为新的DOM。为此使用Javascript模板


除了在渲染期间,JS中的液体量对您没有帮助。在渲染时,您当然可以使用Liquid中的数据构建并填充Javascript数据结构。

您误解了Shopify的工作原理。液体代码在页面加载时由Shopify解析一次。Shopify创建了一个巨大的HTML、CSS和JS字符串,并将其转储到浏览器中

一旦进入Javascript领域,就不再使用Liquid了。相反,你在玩数据游戏。因此,如果您想更新购物车,可以使用Javascript。如果您想知道购物车中有什么,可以使用Javascript。如果要重新呈现购物车的内容,可以将不再喜欢的DOM替换为新的DOM。为此使用Javascript模板


除了在渲染期间,JS中的液体量对您没有帮助。在渲染时,您当然可以使用Liquid中的数据构建并填充Javascript数据结构。

使用{%raw%}标记来防止Liquid渲染。你能提供更多关于你想要达到的目标的信息吗?@AliceGirard你好,Alice,谢谢你的评论,我已经更新了上面的问题。但基本上,当添加产品时,我正在尝试更新Shopify中的Cart对象。因此,我的逻辑如下:产品成功添加->重新蚀刻购物车->重用购物车项目片段以重新格式化添加回滑出购物车。{%raw%}标记用于防止液体渲染。你能提供更多关于你想要达到的目标的信息吗?@AliceGirard你好,Alice,谢谢你的评论,我已经更新了上面的问题。但基本上,当添加产品时,我正在尝试更新Shopify中的Cart对象。因此,我的逻辑如下:产品成功添加->重新蚀刻购物车->重用购物车项目片段以重新格式化添加回滑出购物车。感谢您帮助理解。因此,我将代码段的HTML复制到javascript模板中。然而,我希望在将来的设计更新中避免这样做,同时也避免使用液态if语句。谢谢你的帮助。因此,我将代码段的HTML复制到javascript模板中。然而,我希望在将来的设计更新中避免这样做,同时也避免使用liquid if语句。
function below.
var showCartNotificationPopup = function (product) {

        var addedQuantity = parseInt($('.quantity__input', this.$container).val());

        $.get("/cart.json", function (data) {
         var cart_items = data.items

          $.each(cart_items, function (index, item) {
            item.minus_quatinty = item.quantity - 1;
            item.formatPrice = Shopify.formatMoney(item.final_price)
          })

          cart = {
            items: data.items
          }

          $("#side-cart-container").find(".item").detach();
          $("#CartOuter table tbody").prepend(template(cart));
          console.log(cart);
          $("#side-cart-container").addClass("visible");
        });

        clearTimeout(popoverTimer);
      }