最近在用織夢dedecms圖集模型建立圖片站的時候發現{dede:productimagelist}標簽調用不出來圖片的縮略圖,可是361源碼就是想要調用每張圖片的縮略圖,這該如何實現呢?還是那句老話,361源碼遇到問題就像如何去解決。

經過研究361源碼發現織夢dedecms有給每個圖片生成縮略圖的機制 ,只要發布的時候把顯示方式選擇成多行多列即可。PS:有關織夢圖集和縮略圖我們已經給大家介紹過不少的文章,例如《織夢dedecms提取圖集第一個圖片的方法》、《dedecms圖集標簽productimagelist調用圖片順序的修改方法》等。
請看相應源代碼:
打開 dedealbum_add.php 文件,查看如下代碼:
/*---------------------function _getformupload()通過swfupload正常上傳的圖片---------------------*/if(is_array($_SESSION['bigfile_info'])){foreach($_SESSION['bigfile_info'] as $k=>$v){$truefile = $cfg_basedir.$v;if(strlen($v) 2 ? GetImageMapDD($v, $cfg_ddimg_width) : '';if(!$hasone && $ddisfirst==1 && $litpic==''){$litpic = empty($litpicname) ? GetImageMapDD($v, $cfg_ddimg_width) : $litpicname;$hasone = TRUE;}$imginfo = !empty(${'picinfook'.$k}) ? ${'picinfook'.$k} : '';$imgurls .= "{dede:img ddimg='$v' text='$imginfo'} $v {/dede:img}rn";}}$imgurls = addslashes($imgurls);$pagestyle就是發布圖集時選擇的單頁多圖樣式、幻燈片樣式、多縮略圖樣式這三種。其他特別要注意下列一行代碼
$imgurls .= "{dede:img ddimg='$v' text='$imginfo'} $v {/dede:img}rn";在發布圖集時選擇第三個,多縮略圖樣式即可,行數和列數如果是自己的模板的話不必理會,只要設定縮略圖寬度到合適的數值就可以了
如果你發布的時候沒選,可還想要生成縮略圖也很簡單,只需更改已發布的圖集,選中下多縮略圖樣式就行了
這樣每個圖片的縮略圖就生成出來了,可是怎么才能調用出來呢?
先看一下數據庫儲存的圖片
再看上面代碼,根據判斷$ddimg就是縮略圖了
打開 /include/taglib/productimagelist.lib.php 文件
發現它和其他標簽不一樣的地方,他是讀取一個標簽的值和屬性來顯示在另外一個標簽中的機制
那么就在它處理標簽的地方加一個新的讀取屬性 ,只需要加如下代碼中紅色部分即可完成這個功能
if($ctag->GetName()=="img")
{
$row = array();
$row['imgsrc'] = trim($ctag->GetInnerText());
$row['text'] = $ctag->GetAtt('text');
$row['litpic'] =$ctag->GetAtt('ddimg');
$images[] = $row;
}
這樣[field:litpic/]就可以顯示出圖片所對應的縮略圖了。有上面問題可以留言給我們。
以上就是織夢圖集標簽productimagelist中調用縮略圖的方法的全部內容,希望對大家的學習和解決疑問有所幫助,也希望大家多多支持武林網。新聞熱點
疑難解答