À droite, je travaille sur un site avec plusieurs flux RSS différents. Mon problème est un de mes flux fonctionne très bien, mais le second (basé sur le code presque identique) échoue et je ne peux pas comprendre pourquoi.Problème avec CFFEED
est ici le code qui fonctionne:
<!--- Get the feed data as a query from the orders table. --->
<cfquery name="getNews" datasource="#DSN#">
SELECT * FROM NEWS2
WHERE STATUS = 1
ORDER BY rdate DESC
</cfquery>
<cfset myStruct = StructNew() />
<cfset mystruct.link = "http://noobzilla.net" />
<cfset myStruct.title = "Noobzilla News" />
<cfset mystruct.description = "Programming Related Site Reviews" />
<cfset mystruct.pubDate = Now() />
<cfset mystruct.version = "rss_2.0" />
<cfset myStruct.item = ArrayNew(1) />
<cfloop query="getNews">
<cfset myStruct.item[currentRow] = StructNew() />
<cfset myStruct.item[currentRow].guid = structNew() />
<cfset myStruct.item[currentRow].guid.isPermaLink="YES" />
<cfset myStruct.item[currentRow].guid.value = 'http://noobzilla.net/news-detail.cfm?id=#id#' />
<cfset myStruct.item[currentRow].pubDate = "#DateFormat(getNews.rdate, "mm/dd/yyyy")#" />
<!---<cfset myStruct.item[currentRow].title = xmlFormat(title) />--->
<cfset myStruct.item[currentRow].title = #title# />
<cfset myStruct.item[currentRow].description = StructNew() />
<!---<cfset myStruct.item[currentRow].description.value = xmlFormat(#info#) />--->
<cfset myStruct.item[currentRow].description.value = '#Left(info, 250)#...' />
<cfset myStruct.item[currentRow].link = 'http://noobzilla.net/news-detail.cfm?id=#id#' />
</cfloop>
<!--- Generate the feed and save it to a variable. --->
<cffeed action="create" name="#myStruct#" overwrite="true" xmlVar="myXML" />
Le code ci-dessus fonctionne très bien. Maintenant, voici le code de mon second fichier (comme vous pouvez voir sa quasi-identique, juste en utilisant une autre table):
<!--- Get the feed data as a query from the orders table. --->
<cfquery name="getNews" datasource="#DSN#">
SELECT * FROM NEWS
WHERE STATUS = 1
ORDER BY rdate DESC
</cfquery>
<cfset myStruct = StructNew() />
<cfset mystruct.link = "http://noobzilla.net" />
<cfset myStruct.title = "IDE Reviews" />
<cfset mystruct.description = "IDE and SDK Reviews" />
<cfset mystruct.pubDate = Now() />
<cfset mystruct.version = "rss_2.0" />
<cfset myStruct.item = ArrayNew(1) />
<cfloop query="getNews">
<cfset myStruct.item[currentRow] = StructNew() />
<cfset myStruct.item[currentRow].guid = structNew() />
<cfset myStruct.item[currentRow].guid.isPermaLink="YES" />
<cfset myStruct.item[currentRow].guid.value = 'http://noobzilla.net/news-detail2.cfm?id=#id#' />
<cfset myStruct.item[currentRow].pubDate = "#DateFormat(getNews.rdate, "mm/dd/yyyy")#" />
<cfset myStruct.item[currentRow].title = #title# />
<cfset myStruct.item[currentRow].description = StructNew() />
<cfset myStruct.item[currentRow].description.value = '#Left(info, 250)#...' />
<cfset myStruct.item[currentRow].link = 'http://noobzilla.net/news-detail2.cfm?id=#id#' />
</cfloop>
<!--- Generate the feed and save it to a variable. --->
<cffeed action="create" name="#myStruct#" overwrite="true" xmlVar="myXML" />
Ce second ensemble de code génère l'erreur suivante:
Il a été une erreur analysant une date spécifiée dans pubDate. Impossible de convertir pubDate en date.
Essayez de décharger myStruct dans le deuxième exemple pour voir s'il y a un problème avec une ou plusieurs dates. –
Merci Ben! C'était exactement ce que le problème était – noobzilla