在现代网站建设中,SEO优化变得越来越重要。今天我将分享一个关于如何在Dedecms CMS中实现缩略图自动带上绝对路径的方法,这不仅可以提高用户体验,还可以增强搜索引擎对网站的友好度。
很多客户希望在后台添加文章内容时,缩略图能够自动转化为带域名的绝对路径。例如,默认的缩略图路径是这样的:/uploads/allimg/150814/123P2NB-0-lp.png,但客户期望的效果是:http://www.xxxxxxxx.com.cn/uploads/allimg/150814/123P2NB-0-lp.png。
这种需求通常出现在PC端和手机端共享同一个数据库但使用不同服务器的情况下。如果不加绝对路径,其中一端可能无法正确显示图片。
实现这一功能通常有两种思路:
第一种是在点击上传缩略图或编辑器自动获取第一张图作为缩略图的代码处直接加上域名的绝对路径。这种方法需要修改两处代码。
第二种方法更为简洁,在插入或修改数据库之前,判断当前缩略图是否包含域名字符串。如果包含,则不做任何操作;如果不包含,则为其添加绝对路径。这种方法只需要修改一处代码即可完成。
下面是具体的实现步骤:
首先打开Dedecms后台路径中的两个文件:dede/article_add.php 和 dede/article_edit.php。
这两个文件分别对应添加文章和编辑文章的功能。
接下来搜索以下代码:if(preg_match("#j#", $flag)) $ismake = -1;
在找到的代码上方加入以下代码:
if($litpic!='' && !checkstr($litpic,$cfg_basehost)){
$litpic=$cfg_basehost.$litpic;
}
然后,在include目录下的任意PHP文件中添加以下辅助函数:
function checkstr($str,$str1){
// 判断是否包含$str1这个字符
$tmparray = explode($str1,$str);
if(count($tmparray) > 1){
return true;
} else{
return false;
}
}
至此,问题就解决了。这段代码的逻辑是:如果缩略图不为空,并且缩略图URL不包含域名,则为其添加域名。
如果你还想让文章内容中的图片也变成带域名的绝对路径,可以参考其他相关教程进一步扩展功能。