欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 织梦教程 > DedeCMS 列表页调用文章的第一张图片

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:500

DedeCMS 列表页调用文章的第一张图片

发布时间:2020-03-23  

1:有的幻灯片有大小图,一般来说那大图比小的要大很多,例如我仿制的163k的文章幻灯片就是如此,我看很多人都放弃了这个幻灯,因为显示大图的地方调用缩略图的话就会图片失真... 

 

2:用来实现有些博客风格一个功能:在列表页面每个日志的标题下显示一张图片(不是dede的缩略图哦) 

 

办法, 

 

由于标签arclist不支持body,所以arclist调用的地方改为sql标签 独立模型列表和list支持底层模板调用body ,所以可以直接使用 

 

{dede:sql sql='select * from dede_archives left join dede_addonarticle on dede_archives.id=dede_addonarticle.aid where find_in_set("f",dede_archives.flag)>0 order by dede_archives.id desc limit 0,5'} 

<div>[field:body function=firstimg('@me')/]</div> 

{/dede:sql} 

 

注意:实现的办法是自定义一个函数 

 

函数代码 

 

Copy codefunction firstimg($str) 

$str1 = str_replace('"','',$str); 

preg_match('/<img[^>]*>/i',$str1,$str2); 

$str3 = array_shift($str2); 

$str4 = str_replace(' alt= ',' ',$str3); 

return $str4; 

 

将以上代码加入到include下的channelunit.func.php中, 

 

底层模板字段调用的时候 

 

[field:body function=firstimg('@me')/] 

 

标签调用 

 

{field:body function=firstimg('@me')/} 

 

不过这个函数有它的局限性,文章中的图片一定要出现在文章的开头才能达到效果,否则会失败 

 

好了,辛苦了几天终于搞定!