在使用Dedecms CMS构建网站时,许多用户会选择添加一个移动端站点(m站),通常通过二级域名实现。然而,在实际操作中可能会遇到一个问题:手机站和PC站共享同一数据库,当文章页上传图片后,默认显示的是相对地址。这种情况下,虽然PC站可以正常显示图片,但移动站却无法加载这些图片。为了解决这一问题,需要将图片的相对地址转换为绝对地址。


以下是一个经过验证可行的解决方案:


首先,我们需要修改Dedecms中的include目录下的extend.func.php文件。在这个文件的末尾添加一个新的函数方法,用于将相对路径转换为绝对路径:


function replaceurl($newurl) {
    $newurl = str_replace('src="/uploads/allimg/', 'src="http://你的域名/uploads/allimg/', $newurl);
    return $newurl;
}
    

接下来,需要调整调用文章正文内容的标签。默认的标签如下:


{dede:field.body/}
    

将其修改为以下形式,以便应用我们刚刚创建的replaceurl函数:


{dede:field.body function='replaceurl(@me)'/}
    

需要注意的是,所有的修改都应该在二级域名对应的文件夹下进行。这是因为文章是在PC站发布后,移动端站点会同步调用这些内容。因此,只需要对移动站进行修改即可。


此方法适用于任何需要调用绝对路径图片的页面。通过以上步骤,您可以确保移动站上的图片能够正确显示,从而提升用户体验。


总结来说,Dedecms CMS的这一优化不仅解决了图片路径的问题,还为多终端适配提供了良好的基础。希望这篇文章能帮助到正在为此问题困扰的开发者们。