1

ColdFusion とそのCFFeedタグを含む xml ファイルを生成するスクリプトがあります。画像以外は結構使えます。画像を表示するには、画像をカプセル化する必要があることを理解していますCDATA。Google Reader / Feedly フィードに画像が表示されないため、正しく設定されているかどうかわかりません。コードは次のとおりです。

<cfquery datasource="data" name="queryT">
SELECT *
FROM qTable
WHERE ... 
ORDER BY...
</cfquery> 

<cfset RssStruct                = StructNew() />
<cfset RssStruct.link           = "https://www.url.com" />
<cfset RssStruct.title          = "sitename" />
<cfset RssStruct.description    = "url Blog" />
<cfset RssStruct.image.url      = 'https://www.url.com/assets/img/ns.png' />
<cfset RssStruct.image.title    = 'Site Name' />
<cfset RssStruct.image.link     = 'https://www.url.com' />
<cfset RssStruct.pubDate        = Now() />
<cfset RssStruct.version        = "rss_2.0" />
<cfset RssStruct.item           = ArrayNew(1) />
<cfset threadlist               = "">
<cfset index                    = 1>

<cfloop query="queryT">
    <cfif listcontains( threadlist , '#id#' ) eq 0>
        <cfset threadlist = ListAppend(threadlist, '#id#')>
             <!--- Here let's clean up and ensure that all values are XML Compliant --->
            <cfset RssStruct.item[index]                    = StructNew() />
            <cfset RssStruct.item[index].guid               = structNew() />
            <cfset RssStruct.item[index].guid.isPermaLink   ="YES" />
            <cfset RssStruct.item[index].guid.value         = 'https://www.url.com/page.cfm?itemid=#queryT.id#' />
            <cfset RssStruct.item[index].pubDate            = createDate(year(Posted), month(Posted), day(Posted)) />
            <cfset RssStruct.item[index].title              = xmlFormat(#title#) />
            <cfset RssStruct.item[index].Body               = xmlFormat(#Body#) />
            <cfset RssStruct.item[index].description        = StructNew() />
            <cfset RssStruct.item[index].description.value  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />
            <cfset RssStruct.item[index].link               = 'https://www.url.com/page.cfm?item=#queryT.id#' /><br>
        <cfset index = index + 1>
    </cfif>
</cfloop>

<!--- Generate the feed and save it to a file and variable. --->

<cffeed action="create" name="#RssStruct#" overwrite="true" xmlVar="myXML" outputFile = "Feed.xml"  />`
4

1 に答える 1

1

<description>アイテムの下に要素の構造を作成したようです。<description>代わりにコードを単純に入れてみましたか?

これの代わりに:

        <cfset RssStruct.item[index].description        = StructNew() />
        <cfset RssStruct.item[index].description.value  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />

これを試して:

        <cfset RssStruct.item[index].description  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />

<enclosure>代わりに itemの要素を使用してみましたか?

定義と使用法

この要素を使用すると、メディア ファイルをアイテムに含めることができます。

属性

長さ - 必須。メディア ファイルの長さ (バイト単位) を定義します

タイプ - 必須。メディア ファイルのタイプを定義します

url - 必須。メディア ファイルへの URL を定義します

例は次のようになります (画像のサイズをバイト単位で決定する必要があります)。

<enclosure url="https://www.url.com/assets/Photos/photo/#id#.jpg" length="#ImageLength#" type="image/jpeg" />
于 2013-04-01T16:34:47.043 に答える