DedeCMS 列表页调用图集内容多张图片的方法
新做一个以图片为主的网站,采用的DEDECMS图集,列表页要求直接调内容面的大图,解决方法如下:
(主要是采用php的正则匹配函数preg_match_all函数
来巩固复习下该函数:
preg_match_all("正则表达式",匹配的内容,保存在数组中);
保存在数组中的数据是 按照这样的格式进行保存的
数组[0] 是 符合条件的 一条 语句;
数组[1][2][3]...等等内容分别是正则表达式 第1、2、3个匹配符 所匹配的 数据
preg_match_all 匹配出来的 该数组是三维数组
也就是说
数组[1]仍旧是一个数组)
1、在include/common.func.php增加一函数
////循环输出多张图片
function Getimgs($aid, $imgwith = 300, $imgheight = 270, $num = 0, $style = ''){
global $dsql;
$imgurls = '';
$row = $dsql -> getone("Select imgurls From`#@__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><a href=#" . $i . "><img src=". trim($wordcount[2][$i]) . " width= '" .$imgwith ."'height='" . $imgheight . "'></li></a>";
}else{
$imglist .= "<img src= " . trim($wordcount[2][$i]) . " width='" . $imgwith . "'height='" . $imgheight . "'>";
}
}
return $imglist; }
2、在列表页{dede:list}之间调用[field:id function="Getimgs(@me,80,80,9)" /],例如:
{dede:list pagesize='12'}
[field:id function="Getimgs(@me,80,80,9)" /]
{/dede:list}
如在其它地方调用,可用:{dede:field.id function="Getimgs(@me,400,400,10)" /}
实战
////循环输出多张图片
function Getimgs($aid, $num = 0){
global $dsql;
$imgurls = '';
$row = $dsql -> getone("Select imgurls From`#@__addonimages` where aid='$aid'"); //
$imgurls = $row['imgurls'];
preg_match_all("/{dede:img ddimg='(.*)' text='(.*)' width='(.*)' height='(.*)'}(.*){\/dede:img/isU", $imgurls, $wordcount);
$count = count($wordcount[2]);
if ($num > $count || $num == 0){
$num = $count;
}
for($i = 0;$i < $num;$i++){
$factor=$wordcount[4][$i]/$wordcount[3][$i];
$imgheight=314*$factor;
$imglist .= "<li><img src= '" . trim($wordcount[5][$i])."' width='314' height='".$imgheight."'></li>";
}
return $imglist;
}
函数调用语句
{dede:field.id function="Getimgs(@me)" /}
DedeCMS 列表页调用图集内容多张图片的方法的更多相关文章
- 【dedecms】DEDE列表页调用文章内容第一张图片(非缩略图)方法
打开 ../ include/ common.func.php 添加代码 //将缩放图转变为文章第一张图片 function firstimg($str_pic) { $str_sub=substr( ...
- dedecms列表页调用子栏目列表,织梦首页调用栏目的子栏目标签代码
dedecms列表页调用子栏目列表,织梦首页调用栏目的子栏目标签代码. dedecms列表页调用子栏目列表标签: {dede:channelartlist type='sun' }<a href ...
- [v9] 列表页 调用 正文内容 或 自定义 字段(moreinfo的调用方法)
"才能使用的字段) id content readpoint groupids_view paginationtype maxcharperpage template paytype all ...
- dedecms列表页调用文章正文内容的方法
谁说dede:list 标签不能调用body内容,现在就告诉你,直接就可以调用 第一步,打开后台 核心-->频道模型-->内容模型管理-->普通文章,在列表附加字段中添加body. ...
- dedecms 列表页调用自定义字段
在列表附加字段中添加自己定义的字段 如: lwulr调用:{dede:list addfields="lwurl" channelid="1"}[field:l ...
- dede 首页或列表页调用文章内容页body内容
在使用dede过程,有的朋友会调调出文章的列表的内容出来,怎么调呢?当然是用dede的传参的数据查询语句了,方法如下: {dede:arclist flag=h typeid=2 row=1 titl ...
- DEDECMS5.5/5.6/5.7列表页调用TAG标签(热门标签)的两种方法
DEDECMS5.5/5.6/5.7列表页调用TAG标签的两种方法: 一.DedeCMSv5.6及其以前版本: dedecms默认在列表是无法调用tag标签的,经过各位版主们的帮助,现给大家提供出2种 ...
- DEDECMS首页和列表页调用单个图片集里的多张图片
/**DEDECMS首页和列表页调用单个图片集里的多张图片 function Getimg($aid,$imgwith=110,$imgheight=110,$num=0) { global $dsq ...
- dedecms列表页如何调用栏目关键词和描述
问:dedecms列表页如何调用栏目关键词和描述 答:有人问起dedecms列表页如何调用栏目关键词和描述.解答如下: 自己实验了下总结方法如下:(以下方法使用于栏目封面和列表和内容页,其他的地方没有 ...
随机推荐
- 49、android studio 使用技巧记录
1.删除 cmd+del 2.自动导入需要的类 option+enter 3.Option + F7 ——查找哪里引用了该方 Cmd + Option + F7 —— 列出引用的列表 4.Cmd + ...
- 【Word Break】cpp
题目: Given a string s and a dictionary of words dict, determine if s can be segmented into a space-se ...
- vim中插入递增数
假设生成0-9的递增数 1.插入数字1,yy复制,9p 2.输入命令 let i= | g//s//\=i/ | let i=i+1 3.结果:
- Leetcode 639.解码方法2
解码方法2 一条包含字母 A-Z 的消息通过以下的方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 除了上述的条件以外,现在加密字符串可以包含字符 ' ...
- NodeJs爬虫抓取古代典籍,共计16000个页面心得体会总结及项目分享
项目技术细节 项目大量用到了 ES7 的async 函数, 更直观的反应程序了的流程.为了方便,在对数据遍历的过程中直接使用了著名的async这个库,所以不可避免的还是用到了回调promise ,因为 ...
- Lua 语法要点
table 默认键值都是从1开始 table array = { "A", "B" } array2 = array array[] = "D&quo ...
- 【bzoj2738】矩阵乘法 整体二分+二维树状数组
题目描述 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. 输入 第一行两个数N,Q,表示矩阵大小和询问组数:接下来N行N列一共N*N个数,表示这个矩阵:再接下来Q行每行5个数 ...
- 【bzoj1221】[HNOI2001] 软件开发 费用流
题目描述 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员每天提供一块消 ...
- 查找String中出现最多字符的次数和个数
Sting 的charAt方法返回相应位置的字符,使用该方法遍历String,将每个字符存入对象属性,遍历属性得到最多字符个数 <!DOCTYPE html> <html> & ...
- .net3.5下使用LINQ递归算法实现简洁代码
原文发布时间为:2011-04-24 -- 来源于本人的百度文章 [由搬家工具导入] http://www.cnblogs.com/wintersun/archive/2009/03/29/14243 ...