15621857753

phpcmsV9如何实现CSS和JS版本控制的方法

来源:齐鲁建站 栏目:建站教程 阅读: 日期:2021-03-25

本文介绍了phpcmsV9如何实现CSS和JS版本控制的方法,解决思路:打开这个文件setting.php和global.func.php,在里面添加和修改教程给出的代码,然后使用新的调用代码就可以实现了。要改的地方很多,不过很简单,根据教程一一修改就好了。

首先来了解,什么叫CSS和JS版本控制?举个例子:

main.css?version=yyyyMMddv

这个就叫版本控制。

有什么意义?当网站改版,CSS里面修改或添加新的方法,假如用户浏览过网站,浏览器有个调用缓存的功能,用户不主动清除缓存,就会出现浏览器继续调用旧CSS的情况,这时就会发生网站排版错乱之类的情况。版本控制就可以解决这个问题,原理是,通过版本告诉浏览器这是新的样式表。

同理,JS,IMG之类的都可以这样实现。

下面来分享下main.css?version=yyyyMMddv的含义:

main.css 资源的位置
version 可随意定义,这里的v代表“version”
yyyyMMddv 可随意定义,这里用“年 + 月 + 日 + 当天修订版本”,这样的URL可读性比较强。也有用随机字符串代表的

记住,版本控制绝对不是后面加个?version=yyyyMMddv就可以了,那样也会出问题的,怎么解决?

下面开始说本文重点,也就是解决办法:

打开 phpcms/modules/admin/setting.php

搜索:

$setconfig = pc_base::load_config(‘system’);下面增加

$setversion = pc_base::load_config(‘concat_version’);//load版本信息

extract($setconfig);下面增加

extract($setversion);

set_config($_POST[‘setconfig’]);下面增加

set_config($_POST[‘setversion’],’concat_version’);//保存版本信息

打开 phpcms/modules/admin/functions/global.func.php

42行js_path后面增加

‘,’js_version’,’css_version

打开 phpcms/modules/admin/templates/setting.tpl.php

搜索

SwapTab(‘setting’,’on’,”,5,);

改为

SwapTab(‘setting’,’on’,”,6,);

然后tab部分改为

<li id="tab_setting_1" class="on" onclick="SwapTab('setting','on','',6,1);"><?php echo L('setting_basic_cfg')?></li>
<li id="tab_setting_2" onclick="SwapTab('setting','on','',6,2);"><?php echo L('setting_safe_cfg')?></li>
<li id="tab_setting_3" onclick="SwapTab('setting','on','',6,3);"><?php echo L('setting_sso_cfg')?></li>
<li id="tab_setting_4" onclick="SwapTab('setting','on','',6,4);"><?php echo L('setting_mail_cfg')?></li>
<li id="tab_setting_5" onclick="SwapTab('setting','on','',6,5);"><?php echo L('setting_connect')?></li>
<li id="tab_setting_6" onclick="SwapTab('setting','on','',6,6);"><?php echo L('setting_version')?></li>

搜索

在上面增加

<div id="div_setting_6" class="contentList pad-10 hidden">
<table width="100%"  class="table_form">
  <tr>
    <th><?php echo L('js_version')?></th>
    <td class="y-bg">
 <input type="text" class="input-text" name="setversion[js_version]" id="js_version" size="20" value="<?php echo $js_version ?>"/> 日期格式:20140501
 </td>
  </tr>
  <tr>
    <th><?php echo L('css_version')?></th>
    <td class="y-bg">
 <input type="text" class="input-text" name="setversion[css_version]" id="css_version" size="20" value="<?php echo $css_version ?>"/> 日期格式:20140501
 </td>
  </tr>

  </table>
</div>

打开 phpcms/base.php

define(‘CSS_PATH’,pc_base::load_config(‘system’,’css_path’));下面增加

//js版本控制

define(‘JS_VERSION’,pc_base::load_config(‘concat_version’,’js_version’));

//css版本控制

define(‘CSS_VERSION’,pc_base::load_config(‘concat_version’,’css_version’));

phpcms/languages/zh-cn/admin.lang.php

增加语言包:

//版本控制

$LANG[‘setting_version’] = ‘版本控制’;

$LANG[‘css_version’] = ‘css版本’;

$LANG[‘js_version’] = ‘js版本’;

最后一步,在caches/configs/里新建一个名为concat_version.php的文件,内容如下:

<?php
return array(
'js_version' => '20140226', //js版本号
'css_version' => '20140226', //css版本号
);
?>

调用方式:

main.css?version={CSS_VERSION}

main.js?version={JS_VERSION}

以上就是关于phpcmsV9如何实现CSS和JS版本控制的方法的所有内容,希望可以帮到大家,欢迎找小编一起交流~

响应式网站建设

TAG:phpcms
展开