在使用Dedecms进行网站开发时,有时我们需要对文章列表中的图片调用方式进行优化。以下是一篇关于如何修改Dedecms以实现调用文章内容中第一张原图地址的SEO优化文章。

第一步,修改include/extend.func.php文件。
在该文件的最下面插入一个新函数,这个函数的作用是从文章附加表中提取出文章内容的第一张图片地址。如果你需要查询其他类型的内容,例如图片集,只需更改表名即可。


function GetFirstImg($arcid){
    global $dsql;
    $query = "SELECT body FROM `dede_addonarticle` where aid='$arcid'";
    $row = $dsql->GetOne($query);
    $preg = "//i";
    preg_match_all($preg, $row['body'], $match);
    return $match[1][0];
}
    

此函数通过正则表达式匹配文章内容中的第一张图片地址,并返回该地址。

第二步,修改调用标签文件include/taglib/arclist.lib.php
在Dedecms中,当调用文章内容时会用到litpic字段。为了实现我们的目标,需要重新构造此字段。找到function lib_arclistDone()函数里面的$row[litpic]
搜索代码:$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
在其后增加如下代码:


$row['big_pic'] = GetFirstImg($row['id']);
    

这样,在调用模板里就可以使用big_pic标签来调用文章内容中的第一张原图地址了。

通过以上两步操作,我们成功地对Dedecms进行了修改,使其能够更灵活地调用文章内容中的图片资源。这种方法不仅提升了网站的展示效果,还为SEO优化提供了更多可能性。
注意:在进行任何代码修改前,请确保备份原始文件,以免发生不可逆的数据丢失。