DedeCMS织梦

织梦Dede列表页调用文章内容多张图片正确方法

阿里云

我们使用织梦建网站时,往往需要在列表页调用文章缩略图来显示。常用的方法就是使用[field:picname/]标签来调用文章的后台的缩略图。但如果想调用文章中的图片,特别是调用文章中的多张图片,这个标签是无法实现的,需要使用织梦的函数来实现。效果如下:

方法/步骤

第一步:将以下的函数文件粘贴到/include/extend.func.php,来创建一个函数;(下面的代码可能会编译导致后台空白,可以直接下载这个 PHP 文件:链接: https://pan.baidu.com/s/1laEf4zQQ_Y6KZF1QJ_GUwg 提取码: lwfr)

也想出现在这里?联系我们
创客主机
  1. /*
  2. * 文章内容提取图片(多张)自定义输出
  3. */
  4. if(!function_exists('getBodypics'))
  5. {
  6. function getBodypics($string, $num)
  7. {
  8. preg_match_all("/<img([^>]*)\s*src=('|")([^'"]+)('|")/",$string,$matches);
  9. $imgsrc_arr = array_unique($matches[3]);
  10. $count = count($imgsrc_arr);
  11. $i = 0;
  12. foreach($imgsrc_arr as $imgsrc)
  13. {
  14. if($i == $num) break;
  15. $result .= "<img src="$imgsrc"/>";
  16. $i++;
  17. }
  18. return $result;
  19. }
  20. }

第二步:在列表页的循环标签,{dede:list}里添加 addfields='body',如下:

  1. {dede:list pagesize ='20' addfields='body'}

如果是首页调用,需要加上 channelid='1' 如下:

  1. {dede:arclist row='11' titlelen='50' orderby='pubdate' channelid='1' addfields='body'}
  2. <div class="imgtu clearfix">[field:body function=getBodypics(@me,4)/]</div>
  3. {/dede:arclist}

第三步:使用以下的标签来自动调用文章中的图片;参数 4 代码调用的图片数量,可根据自己需要修改。

  1. [field:body function=getBodypics(@me,4)/]

第四步:还需要进入 Dedecms 后台--核心--频道模型--内容模型管理--普通文章,点击进入后,在“列表附加字段”这个项目中添加字段:body

第五步:后台生成更新一下列表页,这样只要文章里有图片就会在列表页自动调用出来了。

织梦 Dede 列表页调用文章内容多张图片正确方法

已有 375 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!