如何修改tpl文件中的smarty變量,並在不使用php的情況下在某個位置後添加一些數據?可能嗎?在smarty變量中添加內容
假設,
$var="this is test content for a variable";
,我想8字符位置後面加上「額外數據」,使最終輸出將是「這是額外的數據測試內容爲變量」
如何修改tpl文件中的smarty變量,並在不使用php的情況下在某個位置後添加一些數據?可能嗎?在smarty變量中添加內容
假設,
$var="this is test content for a variable";
,我想8字符位置後面加上「額外數據」,使最終輸出將是「這是額外的數據測試內容爲變量」
你可以這樣做:
{$var|substr:0:8}EXTRA DATA {$var|substr:8}
請問爲什麼你不想這樣做在PHP中?它更適合那裏,這不是模板應該做的工作。
是的,你可以截斷sentencen使用http://www.smarty.net/docs/en/language.modifier.truncate.tpl
然後添加額外的字作爲智者varible
OP不要求截斷。 – 2011-04-30 14:24:02
可以說,所有的顯示/佈局修改視圖/模板所屬。不過,這似乎有點奇怪。我儘量保持模板儘可能簡單,並且這兩種方法可能會相互衝突。 – 2011-04-30 14:03:45
大部分時間我都會同意,例如'{$ var | truncate:30} ...',但是實際上想要修改出來的數據是奇怪和錯誤的(在我看來!)。 – 2011-04-30 14:19:27
確實:)實際上,截斷是一個很好的例子,因爲它在模板中變得很難以在截斷被實際執行時僅顯示「... ...」...即使該邏輯的語義_all_屬於視圖。 – 2011-04-30 14:22:58