0

我需要强制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:...........

有人知道怎么做吗?

提前致谢

4

1 回答 1

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">
于 2015-05-18T09:12:23.450 回答