做大站,或者做站群的進修都可能需要用到織夢DEDECMS的多站點功能,但是織夢DEDECMS的這個功能還有一些問題,比如說圖片路徑問題,默認圖片上傳是用的相對路徑,啟用多站點后,圖片路徑就不對了。
這時我今天搞了半天找到一個臨時解決辦法,還不能確定是否帶來新的問題,希望大家提出寶貴意見。
1、打開/include/dialog/select_images_post.php 把
$inquery = "INSERT INTO `idea_uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES ('0','$filename','".$activepath."/".$filename."','1','$imgwidthValue','$imgheightValue','0','{$imgsize}','{$nowtme}','".$cuserLogin->getUserID()."'); ";
$dsql->ExecuteNoneQuery($inquery);
$fid = $dsql->GetLastID();
AddMyAddon($fid, $activepath.'/'.$filename);
$CKUpload = isset($CKUpload)? $CKUpload : FALSE;
if ($GLOBALS['cfg_html_editor']=='ckeditor' && $CKUpload)
{
$fileurl = $activepath.'/'.$filename;
$message = '';
$str='<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction('.$CKEditorFuncNum.', /''.$fileurl.'/', /''.$message.'/');</script>';
exit($str);
}
修改成
if($cfg_multi_site=='Y')
{
if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
$activepath2 = $cfg_basehost.$activepath;
} else {
$activepath2 = $activepath;
}
$inquery = "INSERT INTO `idea_uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES ('0','$filename','".$activepath2."/".$filename."','1','$imgwidthValue','$imgheightValue','0','{$imgsize}','{$nowtme}','".$cuserLogin->getUserID()."'); ";
$dsql->ExecuteNoneQuery($inquery);
$fid = $dsql->GetLastID();
AddMyAddon($fid, $activepath2.'/'.$filename);
$CKUpload = isset($CKUpload)? $CKUpload : FALSE;
if ($GLOBALS['cfg_html_editor']=='ckeditor' && $CKUpload)
{
$fileurl = $activepath2.'/'.$filename;
$message = '';
$str='<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction('.$CKEditorFuncNum.', /''.$fileurl.'/', /''.$message.'/');</script>';
exit($str);
}
這是為了解決CKEditor 上傳圖片的時候返回絕對路徑
2、打開/include/dialog/select_images.php 把
$activeurl = '..'.$activepath;
改成
$activeurl = $activepath;
把兩處的
$reurl = "$activeurl/$file";
改成
if($cfg_multi_site=='Y')
{
if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
$reurl = $cfg_basehost."$activeurl/$file";
} else {
$reurl = "$activeurl/$file";
}
這是為了解決圖片瀏覽器 上傳圖片的時候返回絕對路徑
3、打開/dede/media_add.pp 找到最下面的這段代碼
$inquery = "INSERT INTO `idea_uploads`(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES ('$ntitle','$filename','$mediatype','$width','$height','$playtime','$filesize','$uptime','$adminid'); ";
在其上方添加
if($cfg_multi_site=='Y')
{
if(empty($cfg_basehost)) $cfg_basehost = 'http://'.$_SERVER["HTTP_HOST"];
$filename = $cfg_basehost.$filename;
}