用灵动标签如何调用最新,且排除头条、推荐、置顶信息?以及如何排除当前栏目信息

内容纲要

网上找到的简单高效方法:帝国CMS灵动标签排除头条、推荐、置顶

istop=0        排除置顶 信息
isgood=0     排除推荐 信息
firsttitle=0  排除头条 信息
灵动标签简化版写法
sql附加条件 ‘istop=0 and isgood=0 and firsttitle=0’

具体使用sql附加条件/使用e:loop+SQL调用代码

以下取得栏目ID代码使帝国CMS模板制作中常用到的代码,本文灵动标签调用最新且排除头条与推荐方法中将使用到。

<?php
 //$bclassid=$class_r[$GLOBALS[navclassid]][bclassid];
 //取得当前栏目的父栏目id,即bclassid
   $classid=$GLOBALS[navclassid];
 //取得当前栏目id
 ?>

(1)sql附加条件:以下代码获取最新文章,排除了推荐、头条、置顶,并且排除了本栏目最新文章

 [e:loop={news,8,3,0,"istop=0 and isgood=0 and firsttitle=0 and classid!=$classid","newstime desc"}]
   <li>
      <a href="<?=$bqsr[titleurl]?>"><?=$bqr[title]?></a>
   </li>
 [/e:loop]

(2)e:loop配合SQL直接调用数据:以下代码实现上一方法同等功能

 [e:loop={“select * from `[!db.pre!]ecms_news` where istop=0 and isgood=0 and firsttitle=0 and classid!=$classid order by newstime desc limit 8"}]
   <li>
      <a href="<?=$bqsr[titleurl]?>"><?=$bqr[title]?></a>
   </li>
 [/e:loop]

这里省略了e:loop后面几个参数,sql预计直接限制循环条数为8 (limit 8),如果不省略后面几个参数,可以这么写:

 [e:loop={“select * from `[!db.pre!]ecms_news` where istop=0 and isgood=0 and firsttitle=0 and classid!=$classid order by newstime desc",8,24,0}]

其中第三个参数“24”表示e:loop操作类型为SQL预计,第四个参数“0”表示不限制是否有标题图片。

 

以上是帝国CMS 灵动标签排除头条、推荐、置顶等信息调用的方法,文中代码为devin实战代码,其中还排除了当前栏目的记录信息。