【问题标题】:Shopify Liquid. If line.title contains '<br>' statement is not workingShopify 液体。如果 line.title 包含 '<br>' 语句不起作用
【发布时间】:2017-02-05 15:41:27
【问题描述】:

我们正在使用 Shopify,我们有一个发票页面,其中显示了产品标题和其他数据。

我的问题是 product.title 在发票页面上显示 &lt;br&gt; 标签。
(在产品页面标题上显示 w/o &lt;br&gt; 标签)

原因是product.title只能通过所见即所得输入。
其中所见即所得将product.title编码为ASCII码,并在发票页面上解码product.title

我正在尝试使用 Liquid 字符串过滤器
{{ product.title | replace: 'Awesome', 'Mega' }}{% if %} 语句在 product.title 中查找和替换/隐藏 &lt;br&gt; 标记,但它不起作用。如果我将 {% if line.title contains '&lt;br&gt;'%} 更改为 {% if line.title contains 'Dress'%},代码将用空格替换 Dress
请在下面找到我的代码的一部分。

我添加的部分代码

{% if line.title contains '<br>'%} {{ line.title | replace: '<br>', ' ' }} {% endif %}

通用代码

<td class="order-list__product-description-cell" style="width:100%">
  {% if line.product.title %} {% assign line_title = line.product.title %} 
  {% else %} {% assign line_title = line.title %} {% endif %}
  <span class="order-list__item-title">

 <!-- Replace if statement -->

  {% if line.title contains '<br>'%} {{ line.title | replace: '<br>', ' ' }}
  {% endif %} 

  <!-- Replace if statement -->

  {{ line_title }} × {{ line.quantity }}
</span>
<br/> {% if line.variant.title != 'Default Title' %}
<span class="order-list__item-variant">{{ line.variant.title }}</span> {% endif %}

如果您能告诉我我做错了什么并指导我如何以正确的方式实现这一点,我将不胜感激。 同时等待 Shopify 修复在其应用中显示标签的问题

【问题讨论】:

  • 为什么产品标题中有&lt;br&gt;
  • 我们只有在某些产品中有&lt;br&gt; 标签。它们的标题对于一排来说太长了,我们希望它们放在两排,这就是我们在标题中使用&lt;br&gt; 的原因。 (在 Shopify 所见即所得产品编辑器中没有其他方法可以打破界限)我们正在使用 Shopify 的 Order Printer 应用程序来打印我们的发票,这与该应用程序的工作方式有关。我已经让他们知道了这个问题,希望他们能解决它。

标签: shopify liquid liquid-layout


【解决方案1】:

如果您的标题显示如下:

这是一个非常非常非常非常
非常长的产品标题!

那么 Shopify 可能正在转义您的 HTML 标签,将其变成这个底层:

这是一个非常、非常、非常、<br>非常长的产品标题!

如果您将{{ product.title }} 代码更新为:{{ product.title | replace: '&amp;lt;', '&lt;' | replace: '&amp;gt;', '&gt;' }},您应该得到以下信息:

这是一个真的,真的,真的,

产品标题真长!

或者,如果您想完全删除换行符,您可以使用:

{{ product.title | replace: '&amp;lt;', '&lt;' | replace: '&amp;gt;', '&gt;' | remove: '&lt;br&gt;' }}

或: {{ product.title | replace: '&amp;lt;br&amp;gt;', ' ' }}

【讨论】:

  • 非常感谢您的帮助!它工作得很好。我将{{ line_title }}​ 替换为{{ line_title | replace: '&amp;lt;', '&lt;' | replace: '&amp;gt;', '&gt;'}}&lt;br&gt; 标签现在读作休息!
  • 感谢您的解决方案节省了很多时间。
猜你喜欢
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2020-12-26
  • 1970-01-01
  • 2018-08-17
  • 1970-01-01
相关资源
最近更新 更多