分享

dede获取一个图集下的所有图片及图片集数量

 人生大义 2017-05-15
 
 1,像图上面那样,一个图集内容点进去,读取该图集下所有图片(或者缩略图),注:是读取一个图集里的所有图片,不是读取一个栏目里的图片.
解决办法a:
{dede:productimagelist}
<li><a href="javascript:ChangePic('[field:imgsrc/]', '#bigpicimg');" title="[field:text/]" rel="facebox"><img src="[field:imgsrc/]" width="120" height="90" /></a></li>
{/dede:productimagelist}
解决办法b:
在/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 .= "<img src= " . trim($wordcount[2][$i]) . " width=" . $imgwith . "height=" . $imgheight . ">";
        }
    }
     return $imglist;
     }

在模板里调用方法{dede:field.id function="Getimgs(@me,400,400,10)" /}


2,获取图片集数量
找到/include/helpers/archive.helper.php 添加如下代码

/**

 *  获取图集里面图片的数量

 *

 * @param     int  $aid  图集id

 * @return    array

 */

if(! function_exists('Getimgnum')) {

function Getimgnum($aid)

 {

  global $dsql;

  $imgurls = '';

  $row =$dsql->getone( "Select imgurls From `dede_addonimages` where aid='$aid' ");  

  if($row) {

   $imgurls= $row['imgurls'];

  } else {

   return 0;

  }

  preg_match_all("/{dede:img (.*){\/dede:img/isU",$imgurls,$wordcount); 

  $count=count($wordcount[1]);

  return $count;

 }

}

3.调用代码:

{dede:field.id function="Getimgnum(@me)"/}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多