使用帝国CMS建站时,调用带缩略图的文章列表是常见的需求,尤其适用于新闻、资讯、产品等栏目页面。要实现这一功能,关键在于正确编写灵动标签(e:loop)或SQL调用语句,并判断缩略图字段是否存在内容。

1. 灵动标签调用带缩略图的文章列表

通过帝国CMS的灵动标签,可以灵活地调用指定条件的数据。以下是一个常用的带缩略图文章列表调用示例:

\[e:loop={栏目ID,显示数量,操作类型,只显示有标题图片}]\

说明: 参数“只显示有标题图片”设置为1,即可确保只调出带有缩略图的文章。

具体代码示例:

<ul>

\[e:loop={1,10,0,1}]

<li>

<a href="<?=bqsr['titleurl']?>" target="_blank">

<img src="<?=bqr['titlepic'] ? bqr['titlepic'] : '/e/data/images/notitlepic.gif'?>" alt="<?=bqr['title']?>" width="120" height="80" />

</a>

<h4><a href="<?=bqsr['titleurl']?>" target="_blank"><?=bqr['title']?></a></h4>

<p>发布时间:<?=date('Y-m-d',bqr[newstime])?></p>

</li>

\[/e:loop]

</ul>

参数解释:

{1,10,0,1}:调用栏目ID为1的数据,显示10条,操作类型为0(常规),1表示仅显示有标题图片的记录

bqr['titlepic']:缩略图字段,若为空可默认显示占位图

bqsr['titleurl']:文章链接

newstime:发布时间,可用date()格式化

2. 自定义SQL语句调用(更灵活)

如果需要跨栏目或复杂筛选,建议使用自定义SQL语句。例如:

<ul>

\[e:loop={"select * from [!db.pre!]ecms_news where titlepic!='' order by newstime desc limit 10",10,24,0}]

<li>

<a href="<?=bqsr['titleurl']?>">

<img src="<?=bqr['titlepic']?>" alt="<?=bqr['title']?>" />

</a>

<p><a href="<?=bqsr['titleurl']?>"><?=bqr['title']?></a></p>

</li>

\[/e:loop]

</ul>

说明: 此方法通过SQL直接筛选titlepic字段不为空的记录,适用于所有启用缩略图的系统模型。