织梦dedecms图集标签productimagelist中调用缩略图的方法

在用织梦dedecms图集模型建立美女图片站的时候发现{dede:productimagelist}标签调用不出来图片的缩略图,可是跟版网就是想要调用每张图片的缩略图,这该如何实现呢?

经过研究跟版网发现织梦dedecms有给每个图片生成缩略图的机制 ,只要发布的时候把显示方式选择成多行多列即可
请看相应源代码:

打开 dedealbum_add.php 文件,查看如下代码红色部分:
/---------------------
function _getformupload()
通过swfupload正常上传的图片
---------------------
/
if(is_array(KaTeX parse error: Expected '}', got 'EOF' at end of input: …'])) { foreach(_SESSION[‘bigfile_info’] as k = > k=> k=>v)
{
$truefile = c f g b a s e d i r . cfg_basedir. cfgbasedir.v;
if(strlen( v ) 2 ? G e t I m a g e M a p D D ( v) 2 ? GetImageMapDD( v)2?GetImageMapDD(v, c f g d d i m g w i d t h ) : ′ ′ ; i f ( ! cfg_ddimg_width) : ''; if(! cfgddimgwidth):;if(!hasone && $ddisfirst1 && $litpic’’)
{
l i t p i c = e m p t y ( litpic = empty( litpic=empty(litpicname) ? GetImageMapDD($v, $cfg_ddimg_width) : $litpicname;
$hasone = TRUE;
}
i m g i n f o = ! e m p t y ( imginfo = !empty( imginfo=!empty({‘picinfook’.$k}) ? KaTeX parse error: Expected '}', got 'EOF' at end of input: {'picinfook'.k} : ‘’;
KaTeX parse error: Expected '}', got 'EOF' at end of input: …ede:img ddimg='v’ text=’$imginfo’} $v {/dede:img}rn";
}
}

i m g u r l s = a d d s l a s h e s ( imgurls = addslashes( imgurls=addslashes(imgurls);

p a g e s t y l e 就 是 发 布 图 集 时 选 择 的 单 页 多 图 样 式 、 幻 灯 片 样 式 、 多 缩 略 图 样 式 这 三 种 在 发 布 图 集 时 选 择 第 三 个 , 多 缩 略 图 样 式 即 可 , 行 数 和 列 数 如 果 是 自 己 的 模 板 的 话 不 必 理 会 , 只 要 设 定 缩 略 图 宽 度 到 合 适 的 数 值 就 可 以 了 如 果 你 发 布 的 时 候 没 选 , 可 还 想 要 生 成 缩 略 图 也 很 简 单 , 只 需 更 改 已 发 布 的 图 集 , 选 中 下 多 缩 略 图 样 式 就 行 了 这 样 每 个 图 片 的 缩 略 图 就 生 成 出 来 了 , 可 是 怎 么 才 能 调 用 出 来 呢 ? 先 看 一 下 数 据 库 储 存 的 图 片 再 看 上 面 代 码 中 的 蓝 色 部 分 , 根 据 判 断 pagestyle就是发布图集时选择的单页多图样式、幻灯片样式、多缩略图样式这三种 在发布图集时选择第三个,多缩略图样式即可,行数和列数如果是自己的模板的话不必理会,只要设定缩略图宽度到合适的数值就可以了 如果你发布的时候没选,可还想要生成缩略图也很简单,只需更改已发布的图集,选中下多缩略图样式就行了 这样每个图片的缩略图就生成出来了,可是怎么才能调用出来呢? 先看一下数据库储存的图片 再看上面代码中的蓝色部分,根据判断 pagestyleddimg就是缩略图了
打开 /include/taglib/productimagelist.lib.php 文件
发现它和其他标签不一样的地方,他是读取一个标签的值和属性来显示在另外一个标签中的机制
那么就在它处理标签的地方加一个新的读取属性 ,只需要加如下代码中红色部分即可完成这个功能

if($ctag->GetName()==“img”)
{
$row = array();
r o w [ ′ i m g s r c ′ ] = t r i m ( row['imgsrc'] = trim( row[imgsrc]=trim(ctag->GetInnerText());
$row[‘text’] = $ctag->GetAtt(‘text’);
r o w [ ′ l i t p i c ′ ] = row['litpic'] = row[litpic]=ctag->GetAtt(‘ddimg’);
$images[] = $row;
}

这样[field:litpic/]就可以显示出图片所对应的缩略图了

猜你喜欢

转载自blog.csdn.net/a9490489/article/details/106892589