Smarty 預設定界符為 { 與 },與 CSS 規則(如 .class { color: red; })發生語法衝突,直接內嵌 <style> 會拋出「無法識別標籤」錯誤。提供三種解決方案:
<link rel="stylesheet" href="styles.css" type="text/css" />
{literal} 標籤包裹內嵌樣式<style type="text/css">
{literal}
.highlight { background: yellow; color: black; }
#footer { margin-top: 20px; }
{/literal}
</style>
{literal}...{/literal} 區塊內容會原樣輸出,Smarty 完全不解析。$smarty->left_delimiter = '<!--{';
$smarty->right_delimiter = '}-->';
<!--{$var}--> 等語法。<link> 引入。{literal} 包裹。良好的前端架構應堅持「CSS 外部化、JS 外部化、模板僅含結構與變量」,Smarty 衝突問題自然迎刃而解。