Templates shopify存储在原始标记中的变量
我正在编辑一个shopify模板液体页面,其中包含Templates shopify存储在原始标记中的变量,templates,shopify,Templates,Shopify,我正在编辑一个shopify模板液体页面,其中包含 {%raw%} {{item}} {% endraw %} 我通过添加以下内容来测试代码: {%raw%} {% assign myvar = {{item}} %} {{myvar}} {% endraw %} 取而代之的是,它将所有内容打印为原始html,我是否可以克服这一点,因为我需要将变量打印在特定的标记中 谢谢大家! 更新: {% raw %} <form action="/cart" method="post"
{%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>
{%raw%}
{{{#项目}
类似这样,但一旦我以某种方式删除了原始标记,其中的内容就无法呈现???看起来您正试图对一个模板做些什么,该模板将通过Javascript呈现,Javascript将在所有液态代码解析后运行-因此,即使赋值有效,您也只会得到文本字符串{item},我怀疑这是你想要的
这看起来像是来自木材系列主题之一的代码,比如Supply或Brooklyn或其相关主题之一。这些都是Javascript变量的占位符,而不是液体变量。Liquid只在页面加载时呈现一次,而您正在查看的模板用于在购物者更改购物车内容时对页面进行实时更新。如果您想在其中添加新变量,则需要通过主javascript文件(通常名为“app.js”或“theme.js”)添加它们,这些文件位于主题的资产文件夹中
如果我对主题系列的看法是正确的,那么您应该在核心主题文件中找到一个名为
buildCart
的函数,它构建传递给该模板的信息。如果将新变量添加到buildCart发送到该模板的对象中,则可以将新变量的占位符设置为{{myVar}}
用于文本显示,{{{{myVar}}}
如果变量包含HTML格式,{%raw%}
的思想是将液态代码作为文本输出。如果您想输出液态代码,请不要在{%raw%}
标记之间使用它。请您提供更多的相关代码,并说明您实际要做什么?看起来您正试图对一个将通过Javascript呈现的模板执行某些操作,Javascript将在解析完所有液态代码后运行-因此,即使您的assign
工作正常,您也只会得到文本字符串{{item}
,我怀疑这是你想要的。@DaveB我用周围的包装器更新了代码,谢谢,这看起来像是来自木材系列主题之一的代码,如Supply或Brooklyn或其相关主题之一。这些都是Javascript变量的占位符,而不是液体变量。Liquid只在页面加载时呈现一次,而您正在查看的模板用于在购物者更改购物车内容时对页面进行实时更新。如果您想在其中添加新变量,则需要通过主javascript文件添加它们-通常名为“app.js”或“theme.js”,并在主题的资产文件夹中找到它们。@DaveB您是对的!这是功能的一部分:)我找到了它,修改并添加了需要添加的内容谢谢你的帮助!