注册 | 登录 |
地方论坛门户及新闻和人才网址大全

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

时间:2021-07-21人气:-


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

  1. functionGetpic($body)
  2. {
  3. $getpic='';
  4. preg_match_all("/(src)=["|'|]{0,}([^>]*.(gif|jpg|png))/isU",$body,$img_array);
  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. {
  10. foreach($img_arrayas$key=>$value)
  11. {
  12. $picname=preg_replace("/["|'|]{1,}/",'',$value);
  13. $getpic.="<ahref='".$picname."'target='_blank'><imgsrc='".$picname."'border=0/></a>";
  14. }
  15. }
  16. else
  17. {
  18. $getpic="<p>没有图片</p>";
  19. }
  20. return$getpic;
  21. }

图片输出限制为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="SELECTarc.*,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}`arcLEFTJOIN`dede_arctype`actONarc.typeid=act.id
  4. WHERE{$this->AddSql}$ordersqlLIMIT$limitstart,$row";

修改为:

  1. //搜索
  2. $query="SELECTarc.*,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. LEFTJOIN`dede_arctype`actONarc.typeid=act.id
  6. LEFTJOIN`dede_addonarticle`adt1ONarc.id=adt1.aid
  7. WHERE{$this->AddSql}$ordersqlLIMIT$limitstart,$row";

上篇:dedecms列表页调用会员任意字段信息

下篇:织梦默认编辑器 按下回车生成br标签改为生成p标签