gpt4 book ai didi

php - 如何使用 smarty - seo 速度优化将所有 css 链接转换为内联样式

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:39:56 25 4
gpt4 key购买 nike

我正在尝试使我的 css 链接内联(以优化速度)。这是一个纯 php 示例:

echo '<style>';
foreach ($module_css_files as $css_lib) {
include(DIR_FS_ROOT. 'htdocs/css/' . $css_lib);
} //foreach
echo '</style>';

但在 smarty 中这个想法行不通 - 当我尝试

{include file="mysite/htdocs/style.css" } 

每次 smarty 返回白屏时 php 日志中没有错误。如果尝试包含一个普通的 .tpl 或小型 javascript 文件,这不是问题,但如果尝试使用 css smarty,就会崩溃。请帮忙!

最佳答案

有一些可能的解释:

根据您的配置,Smarty 可能会尝试在 htdocs/css/templates_c 中生成解析后的文件。如果该文件夹不存在或不可写,则会产生错误

Smarty 会尝试将 css 解析为 Smarty 模板,即

.test {overflow:hidden}

也会产生错误。您可以尝试以下操作:

在注释之间将 {literal} 添加到您的 css,这样如果您想调用它而不是内联使用它,它不会破坏 css 文件:

/*{literal}*/
.test {overflow:hidden}
...

/*{/literal}*/

或者,如果您使用的是 smarty 3,您只需确保每个左括号后至少有一个空格,这样 smarty 就不会将它与模板指令混淆

.test { overflow:hidden}

然而,最好的选择是用 php 读取 css 文件内容并将它们作为变量传递给 smarty,只是为了避免将 css 作为模板读取和解析可能花费的不必要的处理时间。

关于php - 如何使用 smarty - seo 速度优化将所有 css 链接转换为内联样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39445783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com