織夢DEDECMS首頁列表頁調用文章中多張圖片

閱讀 ?·? 發(fā)布日期 2018-10-06 11:55 ?·? admin

由于圖集模型有標簽可以使用而文章模型沒有,所以我們需要對文章模型做一個二次開發(fā),下面一起來看教程,首先找到include/extend.func.php在最后一行添加
 

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

圖片輸出限制為3,這里可以自由設置。
$img_num=3;//此處數字就是圖片數量,你自由設置   

  1. $img_array=array_slice($img_array,0,$img_num);   

需要注意的是這里調用的是文章模型中BODY字段,所以需要在文章模型中列表附加字段選項增加body,前臺列表調用標簽里需要加上addfields='body',首頁調用標簽需要加上channelid='1'來調用。
搜索列表頁頁多圖展示(此方法只適合文章模型)找到include/arc.searchview.class.php第694行開始的這一部分。
//搜索  

  1. $query = "SELECT arc.*,act.typedir,act.typename,act.isdefault,act.defaultname,act.namerule,  
  2. act.namerule2,act.ispart,act.moresite,act.siteurl,act.sitepath  
  3. FROM `{$this->AddTable}` arc LEFT JOIN `dede_arctype` act ON arc.typeid=act.id  
  4. 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";