CMS插件分享网

影子是一个会撒谎的精灵,它在虚空中流浪和等待被发现之间;在存在与不存在之间....

位置:主页 > 织梦二次开发 >

dedecms文章列表显示内容里面全部图片的方法

发布时间:2019-11-14 16:22作者:√無∑情—浏览(122)

    普通文章列表调用内容多张图片不能用图集模型的办法,需要自己写一个函数,在include/extend.func.php 底部增加以下函数:

    代码一:(这个没有办法调用alt、title 这个两标签)

    //文章模型,文章在首页或列表页调用并自定义显示几张图
    function Getpic($body)
    {
        $getpic = '';
        preg_match_all("/(src)=["|'| ]{0,}([^>]*.(gif|jpg|bmp|png))/isU",$body,$img_array);
     
        $img_array = array_unique($img_array[2]);
        if(count($img_array)>0)
        {
            foreach($img_array as $key=>$value)
            {
                $picname = preg_replace("/["|'| ]{1,}/", '', $value);
                $getpic .="<li class='hover'><a href='".$picname."' title='$title' rel='lightbox-g'><u><img src='".$picname."' mid='".$picname."' big='".$picname."' ></u></a></li>";
            }
    		
        }
        return $getpic;
    }

    代码二:(由于代码一无法调用alt、title 这个两标签,是后期重新写的,实现了alt、title标签的调用)

     
    function Getpic($id)
    {
    global $dsql;
    $sql = "SELECT t1.title as title,t2.body as body FROM dede_archives AS t1 LEFT JOIN dede_addonarticle AS t2 on t1.id = t2.aid  WHERE t1.id =".$id;
    $row = $dsql->GetOne($sql);
    $alttext = trim($row['title']);
    $body =  trim($row['body']);
        $getpic = '';
        preg_match_all("/(src)=["|'| ]{0,}([^>]*.(gif|jpg|bmp|png))/isU",$body,$img_array);
     
        $img_array = array_unique($img_array[2]);
        if(count($img_array)>0)
        {
            foreach($img_array as $key=>$value)
            {
                $picname = preg_replace("/["|'| ]{1,}/", '', $value);
                $getpic .="<li class='hover'><a href='".$picname."' title='".$alttext."' rel='lightbox-g'><u><img src='".$picname."' alt='".$alttext."' mid='".$picname."' big='".$picname."' ></u></a><>";
            }
    		
        }
        return $getpic;
    }
    
     

    以上代码,用一个就好!
    列表页模版使用位置放入下面标签即可

    {dede:list pagesize='10'  addfields='body'}
    [field:body function='Getpic(@me)'/]
    {/dede:list}    
    如:

    同时到网站后台-内容模型管理,修改普通文章模型附加列表字段增加body
    dedecms文章列表显示内容里面全部图片的方法
    保存后,就可以更新列表了,这样就能在列表页显示文章正文内所有图片

    注意:

    把<li class='hover'><a href='".$picname."' title='$title' rel='lightbox-g'><u><img src='".$picname."' mid='".$picname."' big='".$picname."' ></u></a></li>
    换成合适自己的html样式。

    下面是演示的html文件,下载:

    链接:https://pan.baidu.com/s/1ui3D2zpZaLa3bPcuKZTpkQ 
    提取码:ql9q 

    调用效果如下:
    dedecms文章列表显示内容里面全部图片的方法

    下一篇请看《dedecms搜索列表显示内容里面全部图片的方法