2011-04-30 87 views
0

如何修改tpl文件中的smarty變量,並在不使用php的情況下在某個位置後添加一些數據?可能嗎?在smarty變量中添加內容

假設,

$var="this is test content for a variable"; 

,我想8字符位置後面加上「額外數據」,使最終輸出將是「這是額外的數據測試內容爲變量」

回答

2

你可以這樣做:

{$var|substr:0:8}EXTRA DATA {$var|substr:8} 

請問爲什麼你不想這樣做在PHP中?它更適合那裏,這不是模板應該做的工作。

+0

可以說,所有的顯示/佈局修改視圖/模板所屬。不過,這似乎有點奇怪。我儘量保持模板儘可能簡單,並且這兩種方法可能會相互衝突。 – 2011-04-30 14:03:45

+0

大部分時間我都會同意,例如'{$ var | truncate:30} ...',但是實際上想要修改出來的數據是奇怪和錯誤的(在我看來!)。 – 2011-04-30 14:19:27

+0

確實:)實際上,截斷是一個很好的例子,因爲它在模板中變得很難以在截斷被實際執行時僅顯示「... ...」...即使該邏輯的語義_all_屬於視圖。 – 2011-04-30 14:22:58