找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 139|回复: 0

[cms教程] 织梦模板DEDECMS首页列表页调用文章中多张图片

[复制链接]

该用户从未签到

发表于 2021-6-2 10:41:48 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
由于图集模型有标签可以使用而文章模型没有,所以我们需要对文章模型做一个二次开发,下面一起来看教程,首先找到include/extend.func.php在最后一行添加
       
       
               
                       
                               
                                       
function Getpic($body)
{
$getpic = '';
preg_match_all("/(src)=["|'| ,{0]}([^>,*.(gif|jpg|png))/isU",$body,$img_array);
$img_array = array_unique($img_array[2,);
$img_num=3;//此处数字就是图片数量,你自由设置
$img_array=array_slice($img_array,0]$img_num);
if(count($img_array)>0)
{
foreach($img_array as $key=>$value)
{
$picname = preg_replace("/["|'| ,{1,}/", '', $value);
$getpic .="[url=".$picname.",

                               
登录/注册后可看大图

[/url]";
}
}
else
{
$getpic="没有图片
";
}
return $getpic;
}  
                               
                       
               
       

        图片输出限制为3,这里可以自由设置。
        $img_num=3;//此处数字就是图片数量,你自由设置   
         
        $img_array=array_slice($img_array,0]$img_num);   
        需要注意的是这里调用的是文章模型中BODY字段,所以需要在文章模型中列表附加字段选项增加body,前台列表调用标签里需要加上addfields='body',首页调用标签需要加上channelid='1'来调用。
        搜索列表页页多图展示(此方法只适合文章模型)找到include/arc.searchview.class.php第694行开始的这一部分。
        //搜索
       
       
               
                       
                               
                                       
$query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,  
act.namerule2,act.ispart,act.moresite,act.siteurl]act.sitepath  
FROM `{$this->AddTable}` arc LEFT JOIN `dede_arctype` act ON arc.typeid=act.id  
WHERE {$this->AddSql} $ordersql LIMIT $limitstart,$row";
                               
                       
               
       

        修改为:
         
            //搜索  
        ;
       
       
               
                       
                               
                                       
$query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,  
act.namerule2,act.ispart,act.moresite,act.siteurl]act.sitepath   
FROM `{$this->AddTable}` arc   
LEFT JOIN `dede_arctype` act ON arc.typeid=act.id  
LEFT JOIN `dede_addonarticle` adt1 ON arc.id=adt1.aid      
WHERE {$this->AddSql} $ordersql LIMIT $limitstart,$row"
回复

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-10 05:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表