DEDECMS文章内容图片在二级域名下调用的方法
DedeCms SYSTEM_配置参数->其它选项中有两个配置选项:[附件目录是否绑定为指定的二级域名|附件目录的二级域名]很明显示官方早就注意到了在二级域名下的各种子问题!
打开include/FCKeditor/editor/dialog/目录下的文件:“dede_image.php”!
将这个
if($cfg_multi_site=='N')
{
$imgHtml.="<imgsrc="$imgsrcValue"width="$imgwidthValue"border="0"height="$imgheightValue"alt=
"$altname"style="cursor:pointer"onclick="window.open('$urlValue')"/><br/>rn";
}
else
{
if(empty($cfg_basehost))$cfg_basehost='http://'.$_SERVER["HTTP_HOST"];
$imgHtml.="<imgsrc="$imgsrcValue"width="$imgwidthValue"border="0"height=
"$imgheightValue"alt="$altname"style="cursor:pointer"onclick="window.open('$urlValue')"/><br/>rn";
}
改成下面
if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}
if($cfg_multi_site=='N')
{
$imgHtml.="<imgsrc="{$addon_domain}{$imgsrcValue}"width="$imgwidthValue"border="0"height="$imgheightValue"alt=
"$altname"style="cursor:pointer"onclick="window.open('{$addon_domain}{$urlValue}')"/><br/>rn";
}
else
{
if(empty($cfg_basehost))$cfg_basehost='http://'.$_SERVER["HTTP_HOST"];
$imgHtml.="<imgsrc="{$addon_domain}{$imgsrcValue}"width="$imgwidthValue"border="0"height="$imgheightValue"alt=
"$altname"style="cursor:pointer"onclick="window.open('{$addon_domain}{$urlValue}')"/><br/>rn";
}
现在上传的图片正常了,接下来咱们要考虑的是下面不是有一个“浏览服务器_”的按纽吗,[图片/随便/flash/多媒体]都有这个功能!
先打开include/dialog/目录下的select_images.php|select_media.php|select_soft.php|select_templets.php
将下面的代码:
$activeurl='..'.$activepath;
改成
if($GLOBALS['cfg_addon_domainbind']){$addon_domain=$GLOBALS['cfg_addon_domain'];}
$activeurl='..'.$addon_domain.$activepath;
至此完成所以的更改,这样更改是在保证织梦CMS内容管理SYSTEMSYSTEM_的完整性上改的,只有内容中的图片才会变!
当然前提是你开启:附件目录是否绑定为指定的二级域名而且指定二级域名地址!
DEDECMS附件目录绑定域名后,替换成绑定域名访问
把下面的两个函数添加到DEDE去。后台设置DEDECMS系统配置参数:其它选项
附件目录是否绑定为指定的二级域名: 是
附件目录的二级域名:
文章内容
{dede:field.bodyfunction='SetBodyImg(@me)'/}
略缩图
[field:litpicfunction='SetImgUrl(@me)'/]
function SetBodyImg($body)
{
$img_array = array();
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$body,$img_array);
$img_array = array_unique($img_array[1]);
foreach($img_array as $key=>$value)
{
$okvalue = SetImgUrl($value);
$body = str_replace($value,$okvalue,$body);
}
return $body;
}
function SetImgUrl($picurl)
{
global $cfg_basehost,$cfg_addon_domainbind,$cfg_addon_domain;
if($cfg_addon_domainbind<>'Y'||empty($cfg_addon_domain)) return $picurl;
if(eregi($cfg_basehost,$picurl))
{
$picurl = str_replace('http://www.it528.com/uploads/','/',$picurl);
$picurl = str_replace($cfg_cmspath,'/',$picurl);
$picurl = str_replace($cfg_basehost,$cfg_addon_domain,$picurl);
return $picurl;
}
else if(eregi('defaultpic',$picurl))
{
$picurl = $cfg_addon_domain.'/nopic.gif';
return $picurl;
}
else if(eregi('http://',$picurl))
{
return $picurl;
}
else if(eregi('lit', $picurl))
{
$picurl = str_replace('_lit.','.',$picurl);
}
$picurl = $cfg_addon_domain.$picurl;
$picurl = str_replace('http://www.it528.com/uploads/','/',$picurl);
$picurl = str_replace($cfg_cmspath,'/',$picurl);
return $picurl;
}