分类分类
更新时间:2026-03-29 00:42:08作者:fang
ecshop中模板中路径的处理给我们模板的制作带来了极大的方便
ecshop会自动解析模板文件中的图片,css文件,js文件的路径,但并不是所有的图片,css文件,js文件的路径都会替换,
例如在dwt模板文件中有:
<link href="css/index.css" rel="stylesheet" type="text/css">
将会自动替换成
<link href="themes/模板目录名/css/index.css" rel="stylesheet" type="text/css">
例如在dwt模板文件中有:
<link href="css/public.css" rel="stylesheet" type="text/css">
将会被自动替换为
<link href="themes/模板目录名/css/public.css" rel="stylesheet" type="text/css">
能自动替换路径的css文件一定要以路径css开头的css文件
例如在dwt模板文件中有:
<script type="text/javascript" src="js/index.js"></script>
将会被自动替换为
<script type="text/javascript" src="themes/模板目录名/js/index.js"></script>
能自动替换路径的js文件一定要以路径js开头的js文件
例如在dwt模板文件中有:
<img src="images/icon.png">
将会被自动替换为
<img src="themes/模板目录名/images/icon.png">
能自动替换路径的图片文件一定要以路径img开头的图片文件
这种自动解析方便我们可以把这些css,js,img和模板放在一起而不用考虑实际的路径
ecshop对图片,CSS,JavaScript的路径替换原则可以参看include/cls_template.php文件里面的smarty_prefilter_preCompile()的最后几行正则替换:
/* 在头部加入版本信息 */
$source = preg_replace('/<head>/i', "<head>rn<meta name="Generator" content="" . APPNAME .' ' . VERSION . "" />", $source);
/* 修正css路径 */
$source = preg_replace('/(<linkshref=["|'])(?:./|../)?(css/)?([a-z0-9A-Z_]+.css["|']srel=["|']stylesheet["|']stype=["|']text/css["|'])/i','1' . $tmp_dir . '23', $source);
/* 修正js目录下js的路径 */
$source = preg_replace('/(<scripts(?:type|language)=["|']text/javascript["|']ssrc=["|'])(?:./|../)?(js/[a-z0-9A-Z_-.]+.(?:js|vbs)["|']></script>)/', '1' . $tmp_dir . '2', $source);
/* 更换编译模板的编码类型 */
$source = preg_replace('/<metashttp-equiv=["|']Content-Type["|']scontent=["|']text/html;scharset=(?:.*?)["|'][^>]*?>r?n?/i', '<meta http-equiv="Content-Type" content="text/html; charset=' . EC_CHARSET . '" />' . "n", $source);
}
/**
* 处理库文件
*/
elseif ($file_type == '.lbi')
{
/* 去除meta */
$source = preg_replace('/<metashttp-equiv=["|']Content-Type["|']scontent=["|']text/html;scharset=(?:.*?)["|']>r?n?/i', '', $source);
}
/* 替换文件编码头部 */
if (strpos($source, "xEFxBBxBF") !== FALSE)
{
$source = str_replace("xEFxBBxBF", '', $source);
}
$pattern = array(
'/<!--[^>|n]*?({.+?})[^<|{|n]*?-->/', // 替换smarty注释
'/<!--[^<|>|{|n]*?-->/', // 替换不换行的html注释
'/(href=["|'])../(.*?)(["|'])/i', // 替换相对链接
'/((?:background|src)s*=s*["|'])(?:./|../)?(images/.*?["|'])/is', // 在images前加上 $tmp_dir
'/((?:background|background-image):s*?url()(?:./|../)?(images/)/is', // 在images前加上 $tmp_dir
'/(['|"])..//is', // 以../开头的路径全部修正为空
);
$replace = array(
'1',
'',
'123',
'1' . $tmp_dir . '2',
'1' . $tmp_dir . '2',
'1'
);
相关
王道三国策略游戏380.18 MBv0.0.12026-03-28
下载刮个爽手机版休闲益智186.96 MBv1.0.282026-03-28
下载龙符天祭策略游戏756.03 Mv22026-03-28
下载入魂一番赏app网上购物106.66 Mv4.3.52026-03-28
下载童话师经营养成504.02 Mv1.1.52026-03-28
下载Bebo Cam app图像拍照264.51 Mv2.3.02026-03-28
下载纯三国官方正版策略游戏167.24 Mv0.0.12026-03-28
下载Poka Cam app图像拍照74.7 Mv1.8.02026-03-28
下载COLMO app趣味娱乐199.15 Mv2.3.5.22026-03-28
下载愤怒的小鸟变形金刚苹果版休闲游戏439.4 Mv2.39.02026-03-28
下载这也能切苹果版休闲游戏479.6 Mv21342026-03-28
下载口袋吉伊卡哇苹果手机版模拟游戏920.4 Mv2.0.02026-03-28
下载










