Layer 06

RSS in Cold Fusion

Merlinox ho costruito questo script leggermente diverso, non di molto. rss.zip Contiene 2 file, il primo rss.cfm che è il vero e proprio generatore di rss. Il secondo file rss.config.cfm che contiene varie variabili per la configurazione dell’output. Lo script è così costruito: La query che interroga il database è costruita sulla base di alcune variabili configurabili da rss.config.cfm in questo modo:

<cfquery name=”qry_rss” datasource=”#rssDataSource#” cachedwithin=”#rssCacheTime#”>    SELECT *    FROM #preservesinglequotes(rssTable)#    <cfif rssFilter is not “”>WHERE #preservesinglequotes(rssFilter)#</cfif>    <cfif rssOrder is not “”>ORDER BY #preservesinglequotes(rssOrder)#</cfif> </cfquery> Si può quindi configurare un filtro (scritto direttamente in SQL format) ed un ordinamento indicando i campi seprati da virgola. Nel file rss.config.cfm esiste un flag rssImageFlag (0= false e 1=true) che permette di scegliere se visualizzare (quindi farne l’output) dell’immagine del file rss. Le variabili che cominciano con rssHeader vanno tutte a costruire l’heade del file rss genrato, quindi più precise sono migliore sarà il risultato. Successivamente all’output dell’header viene elaborato l’elenco delle news da visualizzare in particolare con l’ausilio della funzione evaluate viene assegnato as una variabile temporanea l’attuale record:

<cfset m_title=evaluate(“qry_rss.#rssRecordTitle#”)> <cfset m_description=evaluate(“qry_rss.#rssRecordDescription#”)> Dove rssRecordTile e rssRecordDescription sono rispettivamente il nome della colonna del DB che contiene le informazioni da pubblicare sul titolo ed il nome della colonna del database che contiene le informazioni da visualizzare nella descrizione. Di qui vengono fatte alcune considerazioni sui caratteri particolari come ad esempio < & e ” che andrebbero a minare il risultato finale. rssRecordBaseLink è una variabile che contiene l’url completo senza valore finale (es. https://www.etechs.it/view_news.cfm?id=     <– questo link non funziona su questo server) servirà a completare il link effettivo della news mettendola assieme all’evaluate di rssRecordVarLink che altro non è che il nome del campo del database che conterrà l’identificativo unico della nostra news. Purtroppo sempre sulla base dell’evaluate ho costruito lo script in modo che visualizzi il campo author email ed il campo author solo se viene estratto da DB, un ragionamento abbastanza obbligato per chi possiede un portale le cui news vengono pubblicate da persone diverse. Ecco qui, il resto è solo una ripetizione degli stessi ragionamenti, per inciso il file rss.config.cfm è commentato appunto per agevolare la costruzione dello script (strano ma vero, ho fatto uno script con dei commenti!!! mitico!). Enjoy

]]>