织梦列表页list获取文章内容图片或者多张图片方法
更新时间:2020-11-29 17:16 文章类目:DEDE教程 文章来源:开源之家 作者:开源之家 浏览:68 次
有位客户需求是织梦列表list调用文章内容图片多个展示在列表,折腾一番终于搞定
1、在后台核心频道里面对内容模型进行修改,并给加一个字段body,如图:
channelchannelid='1' }
{/dede:arclist}
{dede:list addfields="body"}
{/dede:list}
3、实际应用中必须配置调用文章内容自定义正则函数,这段代码要放在/include/extend.func.php里面,这里写上:
/** * 文章内容提取图片(多张)自定义输出 * * @access public * @param string $string 文档内容 * @param string $num 输出几张 * @return string */if(!function_exists('getBodypics')) { function getBodypics($string, $num) { preg_match_all("/<img([^>]*)\s*src=('|\")([^'\"]+)('|\")/",$string,$matches); $imgsrc_arr = array_unique($matches[3]); $count = count($imgsrc_arr); $i = 0; foreach($imgsrc_arr as $imgsrc) { if($i == $num) break; $result .= "<li><img src=\"$imgsrc\"/></li>"; $i++; } return $result; } }
4、织梦arclist列表调用内容图片,代码:
{dede:arclist addfields="body" channelid="1"}
[field:body function="getBodypics(@me, 3)" /] //表示调用3张图片
{/dede:arclist}
5、织梦文章列表list调用多张内容图片,首先要获取内容图片数量,然后根据数量决定显示图片以及调用的样式,这段代码要放在/include/extend.func.php里面,代码:
/** * 获取图集图片数量 * @access public * @param string $aid 文章id * @return string */function BodyImgNum($aid) { global $dsql; $sql = "select aid,body from dede_addonarticle where aid='$aid' "; $arcRow = $dsql->GetOne($sql); $body = $arcRow['body']; $img_array = array(); $patte="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/i"; preg_match_all($patte,$body,$img_array); $img_array = array_unique($img_array[1]); $num = count($img_array); return $num; }
6、在织梦list列表显示一张或者多张图片,代码:
{dede:list addfields="body"} [field:array runphp="yes"] $num = BodyImgNum(@me['id']); $litpic = @me['litpic']; $title = cn_substr(@me['title'],80); $click = @me['click']; $date = MyDate('Y-m-d',@me['pubdate']); $pics = getBodypics(@me['body'],2); $pics2 = getBodypics2(@me['body'],3); $arcurl = getMobileArcUrl(@me['arcurl']); @me = $num; if($num == 2){ @me = "<div class='con2 mat15'> <div class='conn'> <div class='title2'><a href='{$arcurl}' title='{$title}'>$title</a></div> <div class='mat10'> <a href='{$arcurl}'>$pics</a> </div> <div class='clearfix'></div> <div class='bottom2'><i class='fa fa-clock-o' aria-hidden='true'></i> $date <i class='fa fa-thumbs-o-up' aria-hidden='true' style='margin-left:7%;'></i> $click </div> </div> </div>"; } elseif($num == 3){ @me = "<div class='con2 mat15'> <div class='conn'> <div class='title2'><a href='{$arcurl}' title='{$title}'>$title</a></div> <div class='mat10'> <a href='{$arcurl}'>$pics2</a> </div> <div class='clearfix'></div> <div class='bottom2'><i class='fa fa-clock-o' aria-hidden='true'></i> $date <i class='fa fa-thumbs-o-up' aria-hidden='true' style='margin-left:7%;'></i> $click</div> </div> </div>"; }else{ @me = "<div class='con mat15'> <div class='left'><a href='{$arcurl}'><img src='{$litpic}' alt='{$title}'></a></div> <div class='right'> <div class='title'><a href='{$arcurl}' title='{$title}'>$title</a></div> <div class='mat10 bottom'><i class='fa fa-clock-o' aria-hidden='true'></i> $date <i class='fa fa-thumbs-o-up' aria-hidden='true' style='margin-left:7%;'></i> $click</div> </div> </div>"; } [/field:array] {/dede:list}
转载请注明来源: 织梦列表页list获取文章内容图片或者多张图片方法
本文永久链接地址: https://www.enboo.cn/CMSjiaocheng/DEDEjiaocheng/22538.html
郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法链接失效或侵犯版权,请给我们来信:2225329841@qq.com
- 织梦图集编辑修改文章后权重值无法修改解决方法
- 如何在织梦中自定义表单diy.php返回json数据
- dedecms文件的模板说明及模板文件的详解
- 织梦 Fatal error: Call to undefined function make_hash() in
- 织梦列表页list获取文章内容图片或者多张图片方法
- 织梦安装插件后,后台模块管理不显示解决办法
- 织梦模板通用安装使用图文教程
- 织梦搜索页面不能使用php标签的解决办法
- 织梦Dedecms网站实现按“字母检索”搜索功能
- 织梦DedeCMS实现{dede:channel}标签增加数字序号的方法
- 织梦上传附件提示“你没有选择上传的文件或选择的文件大小超出限
- 织梦tag标签列表页有页码但是分页没有数据解决方法
- 织梦网站windows系统IIS环境二级目录301重定向到二级域名伪静态
- 织梦程序把文档生成在根目录下是否利于优化
- 火车头采集下载图片保存到本地路径设置方法
- 最新文章
- 热门文章