在网站建设中,Dedecms(织梦)CMS是一个非常流行的系统,它提供了丰富的功能来帮助用户构建网站。然而,默认情况下,Dedecms图集的调用语法可能无法满足一些特定需求,比如需要调用当前文档的所有图片及注释。本文将详细讲解如何通过自定义代码实现这一功能,并优化SEO效果。

首先,我们需要了解Dedecms默认的图集调用语法:

{dede:field name='imgurls'/}

接下来,我们将学习如何在Dedecms图集中调用当前文档的所有图片及其注释。

打开/include/common.func.php文件,在文件末尾添加以下代码:

// 循环输出图集全部图片及注释
function Getimgs($aid, $imgwith, $imgheight, $num){
    global $dsql;
    $imgurls = '';
    $row = $dsql -> getone("Select * From `aier_addonimages` where aid='$aid'");
    $imgurls = $row['imgurls'];
    preg_match_all("/{dede:img (.*)}(.*){/dede:img/isU", $imgurls, $wordcount);
    $textinfo = $wordcount[1];
    $count = count($wordcount[2]);
    if ($num > $count || $num == 0){$num = $count;}
    for($i = 0;$i < $num;$i++){
        $textinfoe = $textinfo[$i];
        $textinfoee = explode(" ",$textinfoe);
        $imglist .= "
  • ".substr($textinfoee[1],6,-1)."".substr($textinfoee[1],6,-1)."
  • "; } return $imglist; }

    在首页调用时使用以下语法:

    {dede:arclist typeid='' } [field:id function="Getimgs(@me,80,70,7)"/] {/dede:arclist}

    在列表页调用时使用以下语法:

    {dede:list} [field:id function="Getimgs(@me,80,70,7)"/] {/dede:list}

    在内容页调用时使用以下语法:

    {dede:field.id function="Getimgs(@me,80,70,7)"/}

    解释上述代码中的参数:

    • $imglist .= 后面的代码可以根据实际需求调整为适合您网站的HTML结构。
    • 80代表图片宽度,70代表高度,7代表显示的图片数量。
    • $imglist 是一个字符串拼接变量,您可以根据自己的需求进行修改。
    通过以上步骤,您可以轻松实现Dedecms图集中所有图片及注释的调用,同时提升网站的SEO表现。希望这篇文章对您有所帮助!