【问题标题】:Shopify liquid truncateShopify 液体截断
【发布时间】:2012-06-06 19:56:21
【问题描述】:

我正在为我的商店开发一个新的 Shopify 模板。我正在尝试将标题中的字符数和描述中的字符数相加。从 200 中减去这个总数,然后在我的截断中使用结果。

(这是因为我想在每个框中获得相同数量的字符)

我认为下面的代码可以工作.... 捕获位有效(注意:如果我的总字符数 = 204,则结果为 4)但似乎截断无法处理变量?

 {% capture truncateBy %}
 {{ product.title.size | plus: product.description.size  | minus: 200 }}
 {% endcapture %}

 <p>{{ product.description | strip_html | replace: '&nbsp;', ' ' | truncate: truncateBy }}</p>

【问题讨论】:

    标签: liquid shopify


    【解决方案1】:

    您的代码似乎对我有用。它以什么方式不起作用?它是否显示错误、整个描述或“...”?

    您可以尝试的另一种方法是使用实​​际变量分配而不是捕获:

    {% assign truncateBy = product.title.size | plus: product.description.size | minus: 200 %}

    编辑:截断将截断到给定的字符数,所以如果你只想要 200 个字符,那么你可以使用该常量目录作为截断的参数:

    &lt;p&gt;{{ product.description | strip_html | replace: '&amp;nbsp;', ' ' | truncate: 200 }}&lt;/p&gt;

    有关详细信息,请参阅truncate filter 的文档。

    【讨论】:

    • 嗨 Dylan,谢谢 - 我在使用您的代码时得到了相同的结果......这很奇怪......因为我得到了 200 多个字符......我看过来源,并且没有可能导致错误计数的硬空格等......它会看到吗?作为5个字符?可能是这样...
    • 哦,你只需要 200 个字符。试试&lt;p&gt;{{ product.description | strip_html | replace: '&amp;nbsp;', ' ' | truncate: 200 }}&lt;/p&gt;
    • 嗨 Dylan,是的 - 但我想要 200 个字符,包括描述和标题......这就是我遇到麻烦的地方......我把它们放在一起,减去 200......并使用结果截断......但它似乎没有工作。
    • {{ product.title | append: ' - ' | append: product.description | strip_html | replace:'&amp;nbsp;', ' ' | truncate: 200 }} 怎么样,或者您可以使用捕获来连接标题和描述。如果您不想截断标题,则可以将 truncateBy 计算为 {% assign truncateBy = 200 | minus: product.title.size %}
    • {% 分配 truncateBy = 200 |减号:product.title.size %} 是一个很好的解决方案 - 谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多