You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Smarty模板中直接引入CSS文件且不解析该文件?

在Smarty模板中直接嵌入CSS文件且不解析内容的解决方案

直接使用Smarty的{include}标签并添加parse=false参数就能满足需求,这样Smarty会直接输出文件内容,不会把CSS里的{}当作模板语法解析:

<style>{include file="$ROOT_DIR/public/css/all.css" parse=false}</style>

原理说明

  • parse=false参数会让Smarty将引入的文件视为纯文本输出,跳过所有模板语法解析,彻底避免CSS中{}符号引发的解析错误。
  • 这种方式既不用把文件读入变量,也无需修改CSS文件添加{literal}标签,完全保留了{include}的便捷性。

为何之前的写法无效

  • 直接使用{include "$ROOT_DIR/public/css/all.css"}时,Smarty默认会把引入的文件当作模板解析,CSS里的{}会被识别为模板语法标记,导致解析失败。
  • 若在{include}外层包裹{literal},Smarty会把整个{include}标签当作纯文本输出,无法执行引入文件的逻辑。

内容的提问来源于stack exchange,提问作者Magnus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:42:50