我需要强制CSS
更改立即生效,我发现向CSS
添加版本将有助于实现此目的。
<link rel="stylesheet" href="css/style.css?version=123456" media="all"/>
我需要自动执行此操作,因为当需要对css文件进行少量更改时,很难更改主文件。
所以我发现PHP
中的以下代码行(示例)执行相同的工作。
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); echo '?' . filemtime( get_stylesheet_directory() . '/style.css'); ?>" type="text/css" media="screen, projection" />
我试图将此行转换为Smarty
,但它给出错误。
代码:
<link rel="stylesheet" href="css/style.css?version={@filemtime:css/style.css} />
错误:
syntax error: unrecognized tag: @filemtime:...........
任何人都知道如何做到这一点?
提前致谢
答案 0 :(得分:0)
您可以将此修饰符添加到smarty插件文件夹
function smarty_modifier_filemtime($path){
$path = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, $path);
return filemtime( YOUR_HOME_DIR.$path );
}
然后称它为贝娄,
<link rel="stylesheet" href="/css/style.css?v={'/css/style.css'|@filemtime}" type="text/css">