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

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

概述1:有的幻灯片有大小图,一般来说那大图比小的要大很多,例如我仿制的163k的文章幻灯片就是如此,我看很多人都放弃了这个幻灯,因为显示大图的地方调用缩略图的话就会图片失真... 2:用来实现有些博客风格一个功能:在列表页面每个日志的标题下显示一张图片(不是dede的缩略图哦) 办法, 由于标签arcl… 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')/}

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

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

以上是内存溢出为你收集整理的DedeCMS 列表页调用文章的第一张图片全部内容,希望文章能够帮你解决DedeCMS 列表页调用文章的第一张图片所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/1003476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存