怎么可以错过(织梦DEDECMS)织梦栏目页模板,织梦dedeCMS模板首页列表页调用文章中多张图片,织梦dedeCMS模板首页列表页调用文章中多张图片,
由于图集模型有标签可以使用而文章模型没有,所以我们需要对文章模型做一个二次开发。首先打开/include/extend.func.php文件
在最后一行添加以下代码:
functionGetpic($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 .="<a href=".$picname." target=_blank><img src=".$picname." border=0/></a>";
}
}
else
{
$getpic="<p>没有图片</p>";
}
return $getpic;
}
ps:$img_num=3;//此处数字就是图片数量
$img_array=array_slice($img_array,0,$img_num);
需要注意的是这里调用的是文章模型中BODY字段,所以需要在文章模型中列表附加字段选项增加body,前台列表调用标签里需要加上addfields=’body’,首页调用标签需要加上channelid=’1’来调用。
搜索列表页页多图展示(此方法只适合文章模型)
打开/include/arc.searchview.class.php文件
找到以下代码
$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"
(window.slotbydup = window.slotbydup || []).push({
id: "u6835052",
container: "_96bek913mdb",
async: true
});
本文链接:http://blog.sauo.top/?id=512 感谢分享!