«

»

Aug 15

Print this Post

Como Criar RSS Feeds ?

A tag pode ser utilizada tanto para ler ou criar RSS feeds. Para criar um RSS feed, você precisa de duas coisas. Primeiro, você precisa dos dados que irão constituir o conteúdo do RSS feed. Em seguida, você precisará de um conjunto de propriedades que definem o RSS feed. Vamos começar por obter os dados para a alimentação. A tagsuporta a geração de alimentação partindo de uma query ou estrutura. A maioria das pessoas vai querer usar uma query, assim sendo, vamos começar ela:


<cfquery name="entries" datasource="blogdev" maxrows="10">
   select *
   from tblblogentries
</cfquery>

Agora que temos os dados, precisamos de criar uma estrutura que defina as propriedades do RSS feed. A parte mais importante da estrutura é o tipo de feed RSS que iremosa criar. ColdFusion suporta criar dois tipos de RSS feeds: RSS 2 e Atom 1. Para criar um feed do tipo RSS 2, você faria:


<cfset p = structNew()>
<cfset p.version = "rss_2.0">

Ambos RSS 2 e Atom 1 têm propriedades requeridas e opcionais que você pode usar. Para RSS 2, o mínimo exigido de propriedades que você deve usar são título, link e descrição. Aqui está um exemplo completo:


<cfset p = structNew()>
<cfset p.version = "rss_2.0">
<cfset p.title = "My Feed">
<cfset p.link = "http://www.linktomysite.com">
<cfset p.description = "About my site...">

É óbvio que o valor usado para estas propriedades dependerá do seu site e do RSS feed que você está criando.

A última etapa é passar ambos as propriedades e os dados para a tag. Você pode gerar um arquivo ou uma variável XML. Neste exemplo, vamos criar o XML e exibi-lo:


<cffeed action="create" query="#entries#" xmlVar="rss" properties="#p#">
<cfcontent type="text/xml" reset="true"><cfoutput>#rss#</cfoutput>

Por padrão, ColdFusion olha a consulta para colunas com nomes especiais. Assim, por exemplo, em RSS 2, o corpo de cada item na alimentação mapeia para uma coluna chamada conteúdo (content). Se as suas colunas da query não corresponderem-se com aquilo que o RSS 2 (ou Atom 1) está procurando, você pode fornecer um conjunto de aliases usando a estrutura columnMap. Defina uma nova estrutura onde cada chave representa uma coluna em RSS 2 e cada valor representa uma coluna na sua query.


<cfset c = structNew()>
<cfset c.content = "body">
<cfset c.publisheddate = "posted">

Este código indica ao ColdFusion para mapear a coluna “body” na query ao campo “conteúdo” no RSS feed. Ele também diz ao ColdFusion para mapear a coluna “posted” para o campo “publisheddate”. Uma vez tendo essa estrutura, voce pode passá-la para a tag :


<cffeed action="create" query="#entries#" xmlVar="rss" properties="#p#" columnMap="#c#">

by

Raymond Camden

Original Post

Permanent link to this article: http://ensina.me/coldfusion/como-criar-rss-feeds/

Leave a Reply