pbootcms修改CSS后自动添加版本号去缓存

92建站   2023-01-06   收藏本文

本文介绍了pbootcms修改CSS后自动添加版本号去缓存,什么意思呢,就是大家在修改CSS文件后,会不会发现网站不会立即变化,要清下浏览器的缓存,这就是因为缓存的原因,网友可不能每天清下缓存。所以,都会在CSS后面加个版本号。每次手动添加太麻烦了。今天就教给大家自动添加。

下面就来说说pbootcms修改CSS后自动添加版本号去缓存的方法。

1、打开扩展标签专属文件 \apps\home\controller\ExtLabelController.php

添加以下语句

use core\basic\Config; 

在$this->test();下方增加

$this->smartVersion();

新增对应标签函数smartVersion()和auto_version方法

//静态文件尾巴增加时间版本号标签
private function smartVersion(){
    $pattern = '/\{ver\s?\(\{([^\}]+)\}\/([^\}]+)\)\}/';
    if (preg_match($pattern, $this->content, $matches)) {
        $this->content = preg_replace_callback($pattern,function($matches){
            if($matches){
                return $this->auto_version(APP_THEME_DIR.'/'.$matches[2]);
            }
        },$this->content);
    }
}
// 自动更新时间版本号
public function auto_version($url){
    $ver = filemtime($_SERVER['DOCUMENT_ROOT'].$url);
    return $url.'?v='.date("YmdHis",$ver);
}

2、修改原有调用样式或JS的标签,只要是静态文件的均可添加,规则{ver(xxxxxx)}

原来的

{pboot:sitetplpath}/skin/css/style.css)
{pboot:sitetplpath}/skin/js/cms.js

修改为

{ver({pboot:sitetplpath}/skin/css/style.css)}
{ver({pboot:sitetplpath}/skin/js/cms.js)}

这要就结束了,直接使用吧~

商用网站源码

展开