当前位置:首页 > 行业动态 > 正文

如何使用DEDECMS在二级域名下调用内容图片?

在DEDECMS中,将图片上传到二级域名下,并在模板中使用相对路径调用即可。

在二级域名下调用DEDECMS内容图片的方法

如何使用DEDECMS在二级域名下调用内容图片?  第1张

方法一:修改FCKeditor编辑器代码

1、打开include/FCKeditor/editor/dialog/目录下的文件:“dede_image.php”

找到以下代码段:

“`php

if($cfg_multi_site==’N’)

{

$imgHtml.="<img src="{$imgsrcValue}" width="$imgwidthValue" border="0" height="$imgheightValue" alt="$altname" onclick="window.open(‘$urlValue’)"/><br/>rn";

}

else

{

if(empty($cfg_basehost))$cfg_basehost=’http://’.$_SERVER["HTTP_HOST"];

$imgHtml.="<img src="{$imgsrcValue}" width="$imgwidthValue" border="0" height="$imgheightValue" alt="$altname" onclick="window.open(‘$urlValue’)"/><br/>rn";

}

“`

修改为:

“`php

if($GLOBALS[‘cfg_addon_domainbind’]){$addon_domain=$GLOBALS[‘cfg_addon_domain’];}

if($cfg_multi_site==’N’)

{

$imgHtml.="<img src="{$addon_domain}{$imgsrcValue}" width="$imgwidthValue" border="0" height="$imgheightValue" alt="$altname" onclick="window.open(‘{$addon_domain}{$urlValue}’)"/><br/>rn";

}

else

{

if(empty($cfg_basehost))$cfg_basehost=’http://’.$_SERVER["HTTP_HOST"];

$imgHtml.="<img src="{$addon_domain}{$imgsrcValue}" width="$imgwidthValue" border="0" height="$imgheightValue" alt="$altname" onclick="window.open(‘{$addon_domain}{$urlValue}’)"/><br/>rn";

}

“`

2、修改include/dialog/目录下的select_images.php、select_media.php、select_soft.php、select_templets.php文件中的代码

将以下代码:

“`php

$activeurl=’..’.$activepath;

“`

修改为:

“`php

if($GLOBALS[‘cfg_addon_domainbind’]){$addon_domain=$GLOBALS[‘cfg_addon_domain’];}

$activeurl=’..’.$addon_domain.$activepath;

“`

方法二:修改数据库内容替换路径

1、进入后台,核心设置,批量维护,数据库内容替换

选择表dede_addonarticle 和dede_archives。

字段分别为body(dede_addonarticle)和lipitic(dede_archives)。

被替换内容:src="/uploads/ 替换为src="http://你的域名/uploads/。

点击“开始替换”,完成替换后生成文章,前台显示正常。

2、修改程序文件,增加一个参数

找到include 下的文件extend.func.php。

在文件最后增加一个函数:

“`php

function replaceurl($newurl)

{

$newurl = str_replace(‘src="/uploads/allimg/’, ‘src="http://你的域名/uploads/allimg/’, $newurl);

return $newurl;

}

“`

将文章正文的调用标签{dede:field.body/} 修改成{dede:field.body function='replaceurl(@me)'/}。

上传到服务器并测试,确保问题解决。

方法三:修改缩略图路径

1、找到include/dialog/select_images_post.php文件第108行

将以下代码:

“`php

$fileurl = $activepath.’/’.$filename;

“`

修改为:

“`php

$fileurl = ‘你的域名’.$activepath.’/’.$filename;

“`

2、在插入和编辑数据库时判断缩略图是否包含域名

打开dede/article_add.php 和dede/article_edit.php 文件。

搜索if(preg_match("#j#", $flag)) $ismake = 1; 这句代码。

在这句代码的上面加入以下代码:

“`php

if($litpic!=” && !checkstr($litpic,$cfg_basehost)){

$litpic=$cfg_basehost.$litpic;

}

“`

随便在include 的一个 PHP 文件中加入以下代码:

“`php

function checkstr($str,$str1){ //判断是否包含$str1这个字符 $tmparray = explode($str1,$str); if(count($tmparray)>1){ return true; } else{ return false; } }

“`

FAQs

1、为什么在二级域名下图片不显示?

在二级域名下,图片路径默认是相对路径,导致图片无法正确加载,需要将相对路径改为绝对路径,以确保图片能正常显示。

2、如何批量修改所有文章中的图片路径?

通过后台的核心设置,批量维护,数据库内容替换功能,选择相应的表和字段,将被替换内容中的相对路径改为绝对路径,然后点击“开始替换”,这种方法适用于网站不大经常更新的情况。

DEDECMS内容图片在二级域名下调用的方法

在DEDECMS(帝国CMS)中,如果需要在不同二级域名下调用同一内容页面的图片,可以通过以下几种方法实现,以下将详细介绍如何在二级域名下调用内容图片,并保持代码的整洁和准确性。

方法一:使用绝对路径调用图片

步骤:

1、确定图片的存储位置,通常图片存储在内容目录下,例如uploads/image/。

2、在HTML代码中,使用绝对路径调用图片。

示例代码:

<img src="http://www.example.com/uploads/image/yourimage.jpg" alt="描述">

注意:

确保路径正确,包含协议(http://或https://)和域名。

这种方法不依赖于二级域名,图片在所有二级域名下都可以访问。

方法二:使用相对路径调用图片(适合二级域名结构相同的情况)

步骤:

1、确定图片相对于当前页面的路径。

2、在HTML代码中,使用相对路径调用图片。

示例代码:

<img src="/uploads/image/yourimage.jpg" alt="描述">

注意:

确保相对路径正确,如果二级域名结构相同,这种方法可以有效调用图片。

这种方法依赖于网站结构,如果二级域名结构不同,可能需要调整路径。

方法三:通过数据库字段调用图片

步骤:

1、在数据库中,将图片路径存储为相对路径。

2、在模板中,通过数据库字段调用图片。

示例代码:

<img src="{dede:field.name /}" alt="描述">

注意:

使用{dede:field.name /} 标签可以动态地从数据库中获取图片路径。

确保数据库字段名与图片路径字段匹配。

通过以上三种方法,可以在DEDECMS中实现内容图片在不同二级域名下的调用,根据实际情况选择合适的方法,确保图片能够正确地在各个二级域名下显示。

0

随机文章