首页 > 网站 > 建站经验 > 正文

织梦DEDECMS首页列表页调用文章中多张图片

2024-04-25 20:52:58
字体:大 中 小
来源:转载
供稿:网友

由于图集模型有标签可以使用而文章模型没有,所以我们需要对文章模型做一个二次开发,下面一起来看教程,首先找到include/extend.func.php在最后一行添加
 

  1. function Getpic($body) 
  2. { 
  3. $getpic = ''; 
  4. preg_match_all("/(src)=[/"|'| ]{0,}([^>]*/.(gif|jpg|png))/isU",$body,$img_array); 
  5.  
  6. $img_array = array_unique($img_array[2]); 
  7. $img_num=3;//此处数字就是图片数量,你自由设置 
  8. $img_array=array_slice($img_array,0,$img_num); 
  9. if(count($img_array)>0) 
  10. { 
  11. foreach($img_array as $key=>$value) 
  12. { 
  13. $picname = preg_replace("/[/"|'| ]{1,}/", '', $value); 
  14. $getpic .="<a href='".$picname."' target='_blank'><img src='".$picname."' border=0 /></a>"; 
  15.  
  16. } 
  17. } 
  18. else 
  19. { 
  20. $getpic="<p>没有图片</p>"; 
  21. } 
  22. return $getpic; 
  23. }  

图片输出限制为3,这里可以自由设置。
 

  1. $img_num=3;//此处数字就是图片数量,你自由设置   
  2. $img_array=array_slice($img_array,0,$img_num);   

需要注意的是这里调用的是文章模型中BODY字段,所以需要在文章模型中列表附加字段选项增加body,前台列表调用标签里需要加上addfields='body',首页调用标签需要加上channelid='1'来调用。
搜索列表页页多图展示(此方法只适合文章模型)找到include/arc.searchview.class.php第694行开始的这一部分。
 

  1. //搜索  
  2. $query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,  
  3. act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath  
  4. FROM `{$this->AddTable}` arc LEFT JOIN `dede_arctype` act ON arc.typeid=act.id  
  5. WHERE {$this->AddSql} $ordersql LIMIT $limitstart,$row";  

 

修改为:
 

  1.     //搜索  
  2. $query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,  
  3. act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath    
  4. FROM `{$this->AddTable}` arc   
  5. LEFT JOIN `dede_arctype` act ON arc.typeid=act.id  
  6. LEFT JOIN `dede_addonarticle` adt1 ON arc.id=adt1.aid      
  7. WHERE {$this->AddSql} $ordersql LIMIT $limitstart,$row";  

注:相关教程知识阅读请移步到dedecms教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表