>极客内参 > 技术 > 正文

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

本文介绍了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版本控制的方法的所有内容,希望可以帮到大家,欢迎找小编一起交流~


企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

Baidu
map