如何使用DEDECMS在二级域名下调用内容图片?
- 行业动态
- 2024-10-06
- 2468
在DEDECMS中,将图片上传到二级域名下,并在模板中使用相对路径调用即可。
在二级域名下调用DEDECMS内容图片的方法
方法一:修改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中实现内容图片在不同二级域名下的调用,根据实际情况选择合适的方法,确保图片能够正确地在各个二级域名下显示。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/112649.html