建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:首页 > cms教程 > Dedecms教程

DEDE图集之列表/频道页等调用图集里的内容图片和注释

时间:2018-01-20 18:36:45  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次
日前在一个项目中需要在图集列表点击每个图集的缩略图弹出当前的所有图片和注释,呈现那种画廊样式。
找了很多一直没找到合适的,若水印象网络工作室终于找到一个合适的并成功改写。
首先修改调用的部分
[php] view plain copy
    
 {dede:arclist typeid=5 orderby='pubdate' row=4}  
t;li>  
<a href='[field:litpic/]' rel='works[field:id/]' workstitle="[field:title function='html2text(@me)'/]">  
rc='[field:litpic/]' style="width:180px; height:180px;" />  
<span class="text">  
    <em class="overlay"></em>  
 <span>[field:title/]</span>  
</span>  
</a>  
  [field:id function="Getimgs(@me,80,80,9)" /]  
</li>       
list}  

分析得知,基本和大家熟悉的一样只是多了一个function 根据列表循环出的ID来调用这个Getimgs函数
其次,我们打开include/common.func.php 在最后一行加上
[php] view plain copy
////循环输出多张图片  
function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){  
    global $dsql;  
    $imgurls = '';  
     $row = $dsql -> getone("Select imgurls From`#@__addonimages18` where aid='$aid'"); //  
     $imgurls = $row['imgurls'];  
       
   // preg_match("'alt=(.+)border'", $imgurls,$array);  
    //preg_replace("/\'/",'', $array[1]);    
       
     preg_match_all("/{dede:img (.*)}(.*){\/dede:img/isU", $imgurls, $wordcount);  
     $textinfo = $wordcount[1];  
     $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{  
            $textinfoe=$textinfo[$i];  
            $textinfoee=explode(" ",$textinfoe);  
            $imglist .= "<a href='" . trim($wordcount[2][$i]) . "' rel='works".$aid."' workstitle='".substr($textinfoee[1],6,-1)."'></a>";  
        }  
    }  
     return $imglist;  
     }  
       

分析以上的代码,最后一个if判断里我用的是else里的内容。
不要被我的代码迷惑了,那个A其实是一个特效,里边 trim($wordcount[2][$i]) 是用来获取图片地址,.substr($textinfoee[1],6,-1) 是用来获取注释,只要明白这两个的用途就可以构造自己想要的结果了,我的输出是这样的
[html] view plain copy
<a href="/meishuguan/uploads/allimg/131227/1-13122G63A2-51.jpg" rel="works42" workstitle="3-3"></a>  

N个.....你也可以像我一样,定义ID,做特效的时候可能会用的上。你甚至可以增加一个比如链接字段,点击每个跳转到其他自定义地方,这个我看见有网友放出来了就不给地址了大家需要的话自己找找吧。
文章标题:DEDE图集之列表/频道页等调用图集里的内容图片和注释
文章网址:http://www.jzjsw.com/cmsJiaocheng/dedecms/3726.html
上一篇:织梦文章页/列表页调用评论数、好评、差评的sql语句
下一篇:DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to i报错解决方法
来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
相关文章
    无相关信息
栏目更新
栏目热门