建站技术网专注分享网站建设技术,网站建设教程,真正帮你学会做网站技术,轻松解决网站建设过程中遇到的常见问题,为广大站长服务。 网站地图 | 收藏本站 | 订阅
域名投资,就来找米网,认准网址:www.zhaomi.cc 专业仿站,就到仿站网:www.fangzhan.org
  站内公告: ·帝国cms教程内容已更新,欢迎关注     ·建站技术网采用阿里云服务器,备案已通    
您当前的位置:建站技术网 > cms教程 > 帝国cms教程

帝国CMS首页,列表页调用文章的第一张图片

时间:2019-05-12 11:12:37  来源:网络收集  整理: 建站技术网 www.jzjsw.com     点击:0次

需求:

带标题图的直接调用标题图,不带标题图的,调用文章的第一张图片做标题图,如果文章也没有图片,那就调用系统设定的一张图片。

调用内页图片的话,先提取内容页的字段内容,然后进行正则,得到一个数组,然后判断数组的长度。

把这个函数放到e/class/connect.php里面,最好是放在//替换列表模板/标签模板/搜索模板这一段的上方,因为相关代码都在这一块,修改方便。

然后再在’$titleurl=sys_ReturnBqTitleLink($r);//链接‘这一段的下面加上

’$diyfpic=diy_imgFirst($r);‘ 引入函数;

最后一步:在$listtemp里面加上我们的函数,

$listtemp=str_replace('[!--diyfpic--]',$diyfpic,$listtemp);

这样就可以做列表模板里面进行调用了。

列表模板里面使用的时候,直接 使用 [!--diyfpic--] 即可。

折叠PHP 代码
  1. function diy_imgFirst($r){    
  2. global $empire,$dbtbpre;    
  3.         $fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_1 where id='$r[id]'");    
  4.         $newstext=stripslashes($fr['newstext']);//去除反斜杠并且获取文章正文内容    
  5.         $pattern = "/.*src=/"([^^]*?)/".*/i"//正则    
  6.         preg_match_all($pattern$newstext$match);    
  7.         if(count($match[1])>=1){    
  8.              $diyfpic=$match[1][0];    
  9.         }else{    
  10.              $diyfpic='/e/data/images/notimg.gif';    
  11.         }    
  12. return $diyfpic;    
  13. }  

改进版:

折叠PHP 代码
  1. function diy_getimg($r,$n){    
  2.     global $empire,$dbtbpre,$class_r;    
  3.         $tbname=$class_r[$r[classid]][tbname];    
  4.         $fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_".$tbname."_".$r[fstb]." where id='$r[id]'");    
  5.         $newstext=stripslashes($fr['newstext']);    
  6.         $pattern = "/<img.*?src.*?=.*?[/'|/"]([^/s]+/.*?)[/'|/"].*?>/i";     
  7.         preg_match_all($pattern$newstext$match);    
  8.         if(count($match[1])>=$n){    
  9.              $diypic=$match[1][$n-1];    
  10.         }else{    
  11.              $diypic='/e/data/images/notimg.gif';    
  12.         }    
  13.         return $diypic;    
  14. }    

完善了下取图片的正则,将此代码复制到/e/class/userfun.php文件中(不影响后续程序升级),然后在调用的地方直接调用该函数。不仅仅可以调用第一张图片

示例:

调用第一张 $pic1=diy_getimg($id,1);

调用第二张 $pic2=diy_getimg($id,2);

标签:
文章标题:帝国CMS首页,列表页调用文章的第一张图片
文章网址:http://www.jzjsw.com/cmsJiaocheng/diguocms/11348.html
上一篇:帝国CMS循环输出栏目并高亮显示当前栏目
下一篇:帝国CMS实现/d/file/附件图片目录与网站分离实现远程附件
来顶一下
返回首页
返回首页
相关文章
    无相关信息
推荐资讯
如何通过SEO优化排名赚钱?SEO赚钱方法
如何通过SEO优化排名赚
seo优化教程:网站seo内容优化
seo优化教程:网站seo
SEO细节:企业SEO如何快速为新站做出效果
SEO细节:企业SEO如何
电商技术将如何发展?2018年有这五个大胆预测
电商技术将如何发展?
最新文章
栏目更新
栏目热门