帝国cms建站实例教程 帝国cms7.5首页或列表有图则调用文章第一张图片,无图则不显示图片

帝国CMS教程

帝国cms7.5首页或列表图文列表的形式是最常见的博客或资讯站列表样式,但是有时候文章没有配图,那么如何实现有图则调用第一张图片作为缩略图,无图则不显示图片呢?

如图:

帝国cms建站实例教程 帝国cms7.5首页或列表有图则调用文章第一张图片,无图则不显示图片 第1张

首页实现方式:万能标签调用指定标签模板id

首页使用万能标签,调用文章,且需要设置标签模板ID为指定id,模板id需要新建,列表内容模板(list.var) (*)与下面列表页实现方式一样

如果对万能标签调用不了解的,请参阅文章:帝国cms万能标签的使用教程

列表页实现方式:列表内容模板(list.var) (*)添加以下代码

注意勾选“使用程序代码”

  • $fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_{$r[stb]} where id='$r[id]'");
  • $neirong=$fr['newstext'];
  • $imgcount=substr_count($neirong,"<img");
  • $listtemp='';
  • $titlepic='';
  • if ($imgcount>3){
  • $tmpimg ='';
  • $pattern='/<[img|IMG].*?src="(.*?(?:[.gif|.jpg|.png]))".*?[/]?>/';
  • preg_match_all($pattern,$neirong,$match);
  • for($j=0;$j<4;$j++){
  • $tmpimg.='
  • <a href="[!--titleurl--]" target="_blank">
  • <img src="'.$match[1][$j].'">
  • </a>
  • </p>';
  • }
  • $listtemp='
  • <li>
  • <h3 class="blogtitle"><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h3>
  • <span class="bplist">'.$tmpimg.'</span>
  • <p class="blogtext">[!--smalltext--]... </p>
  • <p class="bloginfo"><span>[!--newstime--]</span><span>【<a href="[!--this.classlink--]">[!--this.classname--]</a>】</span></p>
  • </li>
  • ';
  • }
  • else if(empty($r[titlepic])){
  • $listtemp='<li>
  • <h3 class="blogtitle"><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h3>
  • <p class="blogtext">[!--smalltext--] </p>
  • <p class="bloginfo"><span>[!--newstime--]</span><span>【<a href="[!--this.classlink--]" target="_blank">'.$class_r[$r[classid]]['classname'].'</a>】</span></p>
  • <a href="[!--titleurl--]" class="viewmore">阅读更多</a> </li>';
  • }
  •  
  • else{
  • $listtemp='<li>
  • <h3 class="blogtitle"><a href="[!--titleurl--]" target="_blank">[!--title--]</a></h3>
  • <span class="blogpic imgscale"><i><a href="[!--this.classlink--]">[!--this.classname--]</a></i><a href="[!--titleurl--]" title="[!--title--]"><img src="[!--titlepic--]" alt="[!--title--]"></a></span>
  • <p class="blogtext">[!--smalltext--]... </p>
  • <p class="bloginfo"><span>[!--newstime--]</span><span>【<a href="[!--this.classlink--]">[!--this.classname--]</a>】</span></p>
  • </li>';
  • }