2012-06-01 65 views
4

我正在爲我的商店開發一個新的Shopify模板。我試圖將我標題中的字符數和我描述中的字符數加起來。從200中減去這個總數,然後在我的截斷中使用結果。Shopify liquid truncate

(那是因爲我想在每個箱子相同數目的字符的)

我想下面的代碼會工作....捕獲位作品(注:如果我的總字符= 204,結果是4),但似乎truncate不能處理變量?

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

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

回答

5

您的代碼似乎適用於我。它以什麼方式不起作用?它是否顯示錯誤,整個說明或「...」?

你可以嘗試另一種方法是用實際的變量賦值,而不是捕捉:

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

編輯:截斷將截斷到給定的字符數,所以如果你只想要200個字符,然後你可以使用常量目錄作爲參數傳遞給截斷:

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

有關詳細信息,請參閱truncate filter的文檔。

+0

嗨迪倫,謝謝 - 我在使用你的代碼時得到了同樣的結果......這是非常奇怪的......因爲我得到了超過200個字符......我查看了源代碼,沒有硬盤空間等可能導致錯號......它會看到&爲5個字符?這可能是... – Rob

+0

哦,你只需要200個字符。試試'

{{product.description | strip_html |替換:' ',''| truncate:200}}

' –

+0

嗨迪倫,是的 - 但我想要200個字符,包括描述和標題......這就是我遇到麻煩的地方......我把它們放在一起,減去200 ...並使用結果截斷...但它似乎沒有工作。 – Rob