在為客戶做網站的時候需要做到的效果是每個案例都要很多圖片,并且用一定的效果進行展示。但是發現織夢本身自帶的調取方法實現的效果是一次性調取多個參數,并且展現的效果不是我需要的,當時很糾結。后來自己琢磨琢磨,可惜沒成功。最后通過網絡百度搜索找到了實現方法。
實現效果如圖:
(此圖片來源于網絡,如有侵權,請聯系刪除! )
實現的方法一共有兩個步驟:
1、在/include/common.func.php 里加上方法 //循環輸出多張圖片function
function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){ global $dsql; $imgurls = ''; $row = $dsql -> getone("Select imgurls From`dede_addonimages` where aid='$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 .= "<li><a href=#" . $i . "><img src=". trim($wordcount[2][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>"; } } return $imglist; }
2、在模板里調用方法{dede:field.id function="Getimgs(@me,400,400,10)" /}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
注釋:<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">"是調取出來的格式(根據自己調用圖片格式來更改),可根據自己需要的樣式進行定義,比如加個li或者 添加class等等,這里就不多講了。
以下方法是調取圖片集多張圖片注釋的方法,操作類似。
1,在/include/common.func.php 里加上
//循環輸出多張圖片注釋 function Getimgnote($aid, $num = 0){ global $dsql; $imgurls = ''; $row = $dsql -> getone("Select imgurls ` where aid='$aid'"); // $imgurls = $row['imgurls']; preg_match_all("|text='(.*)' width|U", $imgurls, $wordcount); $count = count($wordcount[1]); if ($num > $count || $num == 0){ $num = $count; } for($i = 0;$i < $num;$i++){ if($style == 'li'){ $imglist .= "<li><ahref=#" . $i . "><imgsrc=". trim($wordcount[1][$i]) . " width=" . $imgwith . " height=" . $imgheight . "></li></a>"; }else{ $imglist .= "<div class=\&;gr\&;>". trim($wordcount[1][$i]) ."</div>"; } } return $imglist; }
2、在模板里調用方法{dede:field.id function="Getimgnote(@me,10)" /}