注册 登录 欢迎您到模板精:织梦模板_dede模板_免费网站模板_网站源码下载

织梦教程_免费织梦模板下载_dede模板

该栏目分享织梦建站的基础知识,从织梦CMS的安装,到织梦标签的常规调用,以及织梦的常见问题答疑都有涉及。

当前位置:首页 > 织梦教程 >

dede标签productimagelist中调用缩略图的方法加原理

免费网站模板 2020-09-16 11:01 织梦教程 评论
昨天自己做站玩的时候发现一个问题 
productimagelist中调用不出来图片的缩略图,然后还想要给每个上传的图片都加缩略图 
本来呢和qjpemail斑竹聊的时候决定改后台添加图集的文件,由于后台用的是swfupload,所以改保存文件的地方,直接顺便生成一个缩略图 
结果讨论了半天,发现dede有给每个图片生成缩略图的机制 ,只要发布的时候把显示方式选择成多行多列即可 
看判断 
dede标签productimagelist中调用缩略图的方法加原理 
 
 
$pagestyle就是发布时选择的列表模式,幻灯片,单张,这些 
 
选择第三个,多行多列模式即可,行数和列数如果是自己的模板的话不必理会,只要设定缩略图宽度到合适的数值就可以了 
 
如果你发布的时候没选还想要生成缩略图也很简单,更改文章,换一个模式就行了 
 
这样每个缩略图就生成出来了,怎么才能调用出来呢? 
 
先看一下数据库储存的图片 
 
复制代码
 $imgurls .= "{dede:img ddimg='$v' text='$imginfo' width='".$imginfos[0]."' height='".$imginfos[1]."'} $v {/dede:img} ";
 
 
根据判断$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 就可以显示出图片所对应的缩略图了 
 
我想说的是dede很强大,有很多思路很先进,值得借鉴学习,重要的是利用它的方式,做最小的改动,发挥大的作用