如何使用RSS FEED查询为CFLOOP创建CFSCRIPT的开始和结束?

时间:2016-05-01 11:28:08

标签: coldfusion rss cfml cfquery cfloop

我正在尝试使用普通的cf标签创建一个已经正常运行的QofQ。但是更改是使用普通的cf标签并将其转换为cfscript功能。 cffeed action =" read"源="#源#/原料/"查询="的RSSFeed"

有一个包装结构的cf查询循环。一个结构在cf查询循环之外定义,因此是数组。 item [currentRow]包含在cf查询循环内,而结果是RSS Feed信息。例如query =' rssFeed'。

enter code here

cfset myStruct = structNew()
cfset myStruct.item = arrayNew(1)

cfloop query="rssFeed"
cfset myStruct.item[currentRow] = structNew()
cfset myStruct.item[currentRow].guid = structNew()
cfset myStruct.item[currentRow].guid.isPermaLink = 'true'
cfset myStruct.item[currentRow].title = xmlFormat(rssFeed.TITLE)
cfset myStruct.item[currentRow].comments.value =  xmlFormat(rssFeed.COMMENTS)
cfset myStruct.item[currentRow].link = xmlFormat(rssFeed.RSSLINK)
cfloop

下一个cf循环应该输出一到四个rssFeed结果。它适用于普通的cf查询循环,基本上它是QofQ,在第二个cf查询循环上设置了开始行和结束行。 arrayNew()是来自RSS Feed标记的项目列表,其中包含rssFeed的查询。必须在第二个cf查询循环和输出上设置起始行和结束行。

enter code here

cfloop query="rssFeed" startrow="1" endrow="4"
itemprop="url" href="#rssFeed.RSSLINK#" title="#rssFeed.TITLE#" class="feedBlock">#rssFeed.TITLE#
cfloop

我为了发布目的而缩短了代码并设法找到了一个解决方案,但不是我搜索的代码解决方案作为最终结果。

我在cfsctipt中创建的作品有效,但我试图进一步细分它。 cfscript的一个工作示例:

示例1:

enter code here

*cfscript*

// Define our query

one = ["#rssFeed.TITLE[1]#,#rssFeed.CONTENT[1]#,#rssFeed.RSSLINK[1]#"];

myQuery = queryNew(" "); 

queryAddColumn(myQuery, "one", "CF_SQL_VARCHAR", one); 

// By row index 

for (i = 1; i <= myQuery.recordCount; i++){
writeOutput("<ul><li>#rssFeed.TITLE[1]#,#rssFeed.CONTENT[1]#,#rssFeed.RSSLINK[1]#</li></ul>
");

}

// By query 

for (row in myQuery) { 
writeOutput("<li>#row.one#</li>");

}

*cfscript*

示例2:

enter code here

// Define our query

myQuery = queryNew("title,content,link", "varchar,varchar,varchar",   [["#rssFeed.TITLE#"],["#rssFeed.CONTENT#"],["#rssFeed.RSSLINK#"]]);


i = 1;
startRow = 1;
endRow = 4;

thisQuery = queryNew('#myQuery.columnlist#');

while (i lte myQuery.recordcount)
    {

    if(++i gte startRow && i lt endRow)
        {

            queryAddRow(thisQuery,1);
            c = 0;
            while (++c lte listLen('#myQuery.columnlist#'))
             {

              QuerySetCell(thisQuery, listGetAt('#myQuery.columnlist#',c), myQuery[listGetAt('#myQuery.columnlist#',c)][1], thisQuery.recordCount);


             }

        }

}

WriteDump(thisQuery);


writeOutput("<ul><li>#not sue of what output#</li><li>#not sure of what output#</li></ul>");

我正在尝试将代码从普通的cf标签转换为cfscript,作为网站升级的一部分,并进一步提升我的编程知识。我很感激你的时间,如果你不想帮助它,没问题。

0 个答案:

没有答案