More Site Nonsense
I have weird little preferences about my site, and I really wanted my links section to to come from my list of RSS feeds. But I use Sharpreader which is is a desktop client so I can't just pull my links in from another site., or publish, or work any other magic. However, Sharpreader can export to an OPML file, which is just a variant of XML. So I should be able to download a CFML OPML parser. Turns out that by "download," I mean "construct." Since I couldn't find one, I've included the source to make it happen. Enjoy, don't enjoy, use, don't use, whatever.
<cffunction access="public" name="display_opml" output="true" returntype="void" hint="Takes an opml file and outputs a list of links. ">
<cfargument name="opml_file" type="string" required="yes" default="" hint="The file location of the opml file to display.">
<cftry>
<cffile action="read" file="#arguments.opml_file#" variable="feeds">
<cfset feedsXML=XMLParse(feeds)>
<cfoutput>
<cfloop index="i" from="1" to="#ArrayLen(feedsXML.opml.body.outline)#">
<div class="entry">
<h2><span>#feedsXML.opml.body.outline[i].XmlAttributes.title#</span></h2>
<ul>
<cfloop index="j" from="1" to="#ArrayLen(feedsXML.opml.body.outline[i].outline)#">
<li> <a href= "#feedsXML.opml.body.outline[i].outline[j].XmlAttributes.htmlUrl#">
#feedsXML.opml.body.outline[i].outline[j].XmlAttributes.title#
</a>
<div class="feed">
<a href="#feedsXML.opml.body.outline[i].outline[j].XmlAttributes.xmlUrl#"> RSS</a>
</div>
</li>
</cfloop>
</ul>
</div>
</cfloop>
</cfoutput>
<cfcatch type="any">
<div class="entry">
<h2><span>Error</span></h2>
<p>There's a problem with the script that powers this section.</p>
</div>
</cfcatch>
</cftry>
</cffunction>
2 responses so far ↓
1 Ryan
That's pretty sweet. I don't use Sharpreader, but if I did, I'd steal that code Thomas Crowne Affair style.Also, where are the cigar posts?
2 Terrence Ryan
Does that make me Rene Russo in this scenario? I'm not sure if I'm comformtable with that.Cigar posts are coming. I haven't had a lot of new cigars lately.
Leave a Comment