2013-03-31 3 views
1

ColdFusion 및 CFFeed 태그가 포함 된 xml 파일을 생성하는 스크립트가 있습니다. 그것은 이미지를 제외하고는 꽤 잘 작동합니다. 이미지를 캡슐화하여 표시하려면 CDATA에 캡슐화해야한다는 것을 알고 있습니다. 이미지가 Google 리더/피드 형 피드에 표시되지 않기 때문에 올바르게 설정했는지 확신 할 수 없습니다. 당신이 항목에서 <description> 요소에 대한 구조를 만든 것처럼ColdFusion 및 CFFeed를 사용하는 RSS 피드의 이미지

<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" />` 

답변

1

것 같습니다 : 여기에 코드입니다. 단순히 코드를 <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> 요소를 사용하여 시도?

정의 및 사용 요소는 미디어 파일을 수 있습니다

는 항목에 포함된다.

길이 속성 - 필수. 미디어 파일의 길이 (바이트)를 정의합니다.

유형 - 필수입니다. 미디어 파일 유형을 정의합니다.

url - 필수 항목입니다. 미디어 파일

에 URL을 정의 예는 같은 것 (당신이 바이트 이미지의 크기를 결정해야합니다) :

<enclosure url="https://www.url.com/assets/Photos/photo/#id#.jpg" length="#ImageLength#" type="image/jpeg" /> 
+0

CFFEED는 설명을위한 구조체가 필요합니다. 엔클로저를 추가했는데 인클로저는 mp3 등의 미디어 파일을 의미합니다. 이미지/JPEG 형식으로 시도했지만 작동하지만 링크로 이미지가 표시되지 않습니다. –

+0

실제로 ... 나는 Google 독자에서 그것을 시도하고 연결을 보여주고 feedly에서 그것은 심상을 보여 주었다 ... 흠. 이것은 진보이지만 해결책이라고 확신하지 못합니다. –