Dede系统经常被应用于各种网站搭建的内核部分。尤其是各种企业网站,图片站最多,对于以上网站,有时候就需要结合页面效果,从列表页面展示图集里头的各种图片。
织梦系统默认的图集是不支持在列表页内调用图片,我们需要借助preg_match_all函数来让dede可以支持一个新的标签调用。
从include/common.func.php添加一个调用函数
//dede列表页输出多张图片
functionlistimgs($aid,$imgwith=500,$imgheight=300,$num=0,$style=''){
global$dsql;
$imgurls='';
$row=$dsql->getone("SelectimgurlsFrom`dede_addonimages`whereaid='$aid'");//
$imgurls=$row['imgurls'];
preg_match_all("/{dede:img(.*)}(.*){\/dede:img/isU",$imgurls,$wordcount);
$count=count($wordcount[2]);
if($num>$count||$num==0){
$num=$count;
}
for($i=0;$i<$num;$i++){
if($style=='li'){
$imglist.="<li><ahref=#".$i."><imgsrc=".trim($wordcount[2][$i])."width=".$imgwith."height=".$imgheight."></li></a>";
}else{
$imglist.="<imgsrc=".trim($wordcount[2][$i])."width=".$imgwith."height=".$imgheight.">";
}
}
return$imglist;
}
保存后,在图集列表页{dede:list}之间使用[field:idfunction="listimgs(@me,100,100,9)"/],如:
{dede:listpagesize='25'}
[field:idfunction="listimgs(@me,70,100,9)"/]
{/dede:list}
如在其他地方调用该标签,就用:{dede:field.idfunction="listimgs(@me,200,160,10)"/}
(@me,200,160,10)参数为,200宽度,160高度,图片调用张数,末尾可以加上“,li”的参数,使图片循环带li标签。
本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。
本文地址:http://www.xlkjgs.com/notes/web/11730.html