有时候我们在建站的过程当中需要调用内容页中正文的第一张图片(并不是缩略图),这样就会无从下手,但其实对不懂开发的站长是太难了,往往是会用标题图片来取代,下面分享网友们贡献出来的方法
在connect.php搜索“//替换列表模板/标签模板/搜索模板”
在上方增加以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //获取内容页第一张大图片 function diy_imgFirst( $r ){ global $empire , $dbtbpre ; $fr = $empire ->fetch1( "select newstext from {$dbtbpre}ecms_news_data_1 where id='$r[id]'" ); $newstext = stripslashes ( $fr [ 'newstext' ]); //去除反斜杠并且获取文章正文内容 $pattern = "/.*src=/"([^^]*?)/".*/i" ; //正则 preg_match_all( $pattern , $newstext , $match ); if ( count ( $match [1])>=1){ //return $match[1][0];//返回第一张图片地址 $diyfpic = $match [1][0]; } else { $diyfpic = $r [ 'titlepic' ]; } return $diyfpic ; } |
还是修改这个文件,搜索
1 | $titleurl =sys_ReturnBqTitleLink( $r ); //链接 |
在下方增加以下代码:
1 | $diyfpic =diy_imgFirst( $r ); |
还是这个文件,搜索
1 | $listtemp = str_replace ( '[!---titleurl--]' , $titleurl , $listtemp ); |
在下方增加以下代码:
1 | $listtemp = str_replace ( '[!---diyfpic--]' , $diyfpic , $listtemp ); |
后台在 管理列表模板 的list.var中,直接使用[!---diyfpic--]
最好把
$diyfpic=$r['titlepic'];
改成
$diyfpic='e/data/images/notimg.gif';
因为一般没有大图,就没有缩略图。或者留空也行。
以上方法在帝国CMS 6.6中测试通过,7.0未测试
新闻热点
疑难解答