织梦dedecms图集标签productimagelist中调用缩略图的方法
经过研究跟版网发现织梦dedecms有给每个图片生成缩略图的机制,只要发布的时候把显示方式选择成
更多精彩就在: 51免费论文网|www.jxszl.com
多行多列即可
请看相应源代码:
打开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)II?GetImageMapDD($v,$cfg_ddimg_width):;
if(!$hasone&&$ddisfirst==I.&&$litpic==)
{
$litpic=empty($litpicname)?GetImageMapDD($v,$cfg_ddimg_width):$litpicname;
$hasone=TRUE;
}
$imginfo=!empty(${picinfook.$k})?${picinfook.$k}:;
$imgurls.="{dede:imgddimg=$vtext=$imginfo}$v{/dede:img}rn";
}
}
$imgurls=addslashes($imgurls);
$pagestyle就是发布图集时选择的单页多图样式.幻灯片样式.多缩略图样式这III种
在发布图集时选择第III个,多缩略图样式即可,行数和列数如果是自己的模板的话不必理会,只要设定缩略图宽度到合适的数值就可以了
如果你发布的时候没选,可还想要生成缩略图也很简单,只需更改已发布的图集,选中下多缩略图样式就行了
这样每个图片的缩略图就生成出来了,可是怎么才能调用出来呢?
先看I.下数据库储存的图片
再看上面代码中的蓝色部分,根据判断$ddimg就是缩略图了
打开/include/taglib/productimagelist.lib.php文件
发现它和其他标签不I.样的地方,他是读取I.个标签的值和属性来显示在另外I.个标签中的机制
那么就在它处理标签的地方加I.个新的读取属性,只需要加如下代码中红色部分即可完成这个功能
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/]就可以显示出图片所对应的缩略图了
原文链接:http://www.jxszl.com/biancheng/dedecms/75230.html
热门阅读