我们在建手机站时,最常见的就是手机站与PC站共用一个数据库,这样方便又好管理,但是这样的操作会出现一个常见的问题就是手机站图片不同步不显示出来的问题,下面就直接上解决办法
【图片同步:】
列表图片同步:
1.列表调用图片位置用 [field:global.cfg_basehost/][field:litpic/]
而不是[field:litpic/]
最近做了网站的手机版,两个网站共用一个数据库,页面分别生成。出现问题:在主站上传到文章里的图片,在手机站里路径不对,解决方法:
第一步:PC端已经生成好的内容:
一、把移动端已经生成的文章中的图片路径改成绝对路径
1、进入移动端织梦后台——核心——批量维护——数据库内容替换
选择表 dede_addonarticle 字段 body
被替换内容: src="/uploads/
替换为:src="http://你的域名/uploads/
3、重新生成移动端所有内容页面。
第二步:后期PC端更新的内容:
1、始终在一个主站(PC端)里上传图片
2、在手机站里修改一下文件:
(1)、找到 /include/extend.func.php
先在底部添加以下代码:
function replaceurl($newurl)
{
$newurl=str_replace("src="/uploads/allimg/","src="http://你的域名/uploads/allimg/",$newurl);
return $newurl;
}
再将其“你的域名”改为PC站的域名,做成绝对路径
function replaceurl($newurl)
{
$newurl=str_replace("src="/uploads/allimg/","src="http://www.mochenseo.com/uploads/allimg/",$newurl);
return $newurl;
}
也就是把“你的域名”直接写死成PC站域名,把这里写死。
3、文章模板中调用文章内容的标签{dede:field.body/}
替换成:{dede:field.body function="replaceurl(@me)"/}
【PC图片太大,移动端显示不全解决方法】
解决思路:去掉移动端的图片width和height属性
打开include/ arc.archives.class.php,查找代码:
//设置全局环境变量
$this->Fields["typename"] = $this->TypeLink->TypeInfos["typename"];
@SetSysEnv($this->Fields["typeid"],$this->Fields["typename"],$this->Fields["id"],$this->Fields["title"],"archives");
}
改成如下代码:
//设置全局环境变量
$this->Fields["typename"] = $this->TypeLink->TypeInfos["typename"];
@SetSysEnv($this->Fields["typeid"],$this->Fields["typename"],$this->Fields["id"],$this->Fields["title"],"archives");
//去掉img的width和height
$this->Fields["body"] = preg_replace("/style=(.*)"/","",$this->Fields["body"]);
}
好了,这就是手机站图片显示问题解决办法,你学会了吗?
function replaceurl($newurl)
{
$newurl=str_replace("src="/uploads/allimg/","src="http://mochenseo.com/uploads/allimg/",$newurl);
return $newurl;
}