受影响的功能:只显示最近的帖子?

时间:2012-01-07 16:49:36

标签: coldfusion

我们有一个功能来提取RSS提要并使用以下代码在ColdFusion页面上显示帖子:

<cfset rssUrl = "rss1">
<cffeed action="read" source="#rssUrl#" query="fitness" properties="info">

<cfset rssUrl2 = "rss2">
<cffeed action="read" source="#rssUrl2#" query="nutrition" properties="info">

<cfif #fitness.PUBLISHEDDATE# gt #nutrition.PUBLISHEDDATE#>
<cfset entries="fitness">
<cfelse>
<cfset entries="nutrition">
</cfif>

通过以下方式完成输出:

<cfoutput query="#entries#">

问题是,RSS提要有几个帖子,我们只想显示一个。有关如何获取它并仅显示最新帖子的任何想法? (我们希望Feed有多个帖子,所以现在我们的非理想解决方案是将每个Feed的最大帖子设置为1)

2 个答案:

答案 0 :(得分:2)

cfoutput/query=".."将覆盖整个查询。如果您只想进行第一行,请使用:

<cfoutput>
Title from row 1: #somequery.title[1]#
</cfoutput>

基本上 - 列上的数组表示法。有意义吗?

答案 1 :(得分:2)

Ray's answer没有任何问题,但这里还有其他选择。

<cfoutput query="#entries#" maxrows="1">

对现有代码的干扰最小,如果您决定更改显示的行数(例如,通过用户设置),则可以轻松更改。

OR

如果您复制查询对象而不是查询名称(实际上不是副本,而是通过引用复制)

<cfset entries = fitness>

而不是

<cfset entries = "fitness">

你可以这样做

<cfoutput>
  #entries.columnName1#
  #entries.columnName2#
  <!--- etc. --->
</cfoutput>

默认情况下,它只显示查询的第一行。