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列表页如何调用栏目关键词和描述.解答如下: 自己实验了下总结方法如下:(以下方法使用于栏目封面和列表和内容页,其他的地方没有 ...
随机推荐
- C 语言 习题 1-14
练习 1-14 编写一个程序,打印输入中各个字符出现频度的直方图. #include <stdio.h> /* count digits, white space, others */ i ...
- LeetCode——Problem1:two sum
早就想刷LeetCode了,但一直在拖,新学期开学,开始刷算法. 我准备从Python和C++两种语言刷.一方面我想做机器学习,以后用Python会比较多,联系一下.另一方面C++或者C语言更接近底层 ...
- WebService常用公共接口
Web Service 一些对外公开的网络服务接口 商业和贸易: 1.股票行情数据 WEB 服务(支持香港.深圳.上海基金.债券和股票:支持多股票同时查询) Endpoint: http://we ...
- JS判断是否是IE浏览器的几种方式
1.得到浏览器的信息,返回由客户机发送服务器的 user-agent 头部的值. if(navigator.userAgent.indexOf("MSIE 8.0")>0){ ...
- 习题:玛丽卡(SPFA)
玛丽卡(wikioi1021) [题目描述 ]麦克找了个新女朋友,玛丽卡对他非常恼火并伺机报复.因为她和他们不住在同一个城市,因此她开始准备她的长途旅行.在这个国家中每两个城市之间最多只有一条路相通, ...
- vue使用stylus
在package.json中添加 stylus-loader "css-loader": "^0.28.0", "stylus-loader&quo ...
- MFC 对话框阴影效果
在 OnInitDialog(Cdialog)里面添加 SetClassLong(this->m_hWnd, GCL_STYLE, GetClassLong(this->m_hWnd, G ...
- iOS飘雪的动画小demo
ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewController{ UIImage ...
- pat 团体天梯赛 L2-002. 链表去重
L2-002. 链表去重 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定一个带整数键值的单链表L,本题要求你编写程序,删除 ...
- 浏览器的 16ms 渲染帧
标签 归档 关于arttle Land 浏览器的 16ms 渲染帧 DOM JavaScript 异步 性能 重绘 由于现在广泛使用的屏幕都有固定的刷新率(比如最新的一般在 60Hz), 在两次硬件刷 ...