對這文章發表回應
發表限制: 非會員 可以發表
發表者: 冷日 發表時間: 2010/3/3 10:12:12
使用 Smarty 模板的時候,通常都是用 『{』 和 『}』 作為定界符(delimiter)。
有時,我們需要在 html 代碼裡輸出大括號,如果在模板裡直接寫出來,會被 Smarty 的解析器認為是定界符,然後會報錯:
無法識別的標籤!
如何解決呢?有 2 種辦法:
1:內置變量
ldelim 和 rdelim 用於輸出分隔符,也就是大括號 『{』 和 『}』。如果只是輸出很少的幾個大括號,請使用此方法。
2: 文本轉義
我們經常會在 html 裡寫 javascript 函數,就不可避免地寫大量的大括號,這個時候上面的解決方法就不適用了,Smarty 提供了一個轉義一段代碼的標籤:{literal}…{/literal}
原文出處:狗狗向前冲: Smarty 定界符 花括号 大括号 函数定义 转义
有時,我們需要在 html 代碼裡輸出大括號,如果在模板裡直接寫出來,會被 Smarty 的解析器認為是定界符,然後會報錯:
Smarty error : syntax error: unrecognized tag
無法識別的標籤!
如何解決呢?有 2 種辦法:
1:內置變量
ldelim, rdelim
ldelim and rdelim are used for displaying the literal delimiter, in our case "{" or "}".
The template engine always tries to interpret delimiters, so this is the way around that.
ldelim 和 rdelim 用於輸出分隔符,也就是大括號 『{』 和 『}』。如果只是輸出很少的幾個大括號,請使用此方法。
2: 文本轉義
我們經常會在 html 裡寫 javascript 函數,就不可避免地寫大量的大括號,這個時候上面的解決方法就不適用了,Smarty 提供了一個轉義一段代碼的標籤:{literal}…{/literal}
{literal}
< script type="text/javascript">
function sayHello() {alert('Hello World!')}
{/literal}
原文出處:狗狗向前冲: Smarty 定界符 花括号 大括号 函数定义 转义