DittoのRSS出力で<![CDATA[ ]]>を含むコードを出力させたい

質問全般・改善要望
返信する
アバター
アルム=バンド_modx
メンバー
メンバー
記事: 11
登録日時: 2014年6月29日(日) 13:19

DittoのRSS出力で<![CDATA[ ]]>を含むコードを出力させたい

投稿記事 by アルム=バンド_modx »

MODXバージョン 1.0.19J
PHPのバージョン PHP7.1.4
データベースのバージョン 5.7.18
~~~

ご無沙汰しております、アルム=バンドです。
早速で恐縮ですが、Feedlyで自サイトの記事で意図した画像が表示されないのが気になり、テンプレート変数で用意したアイキャッチ画像をRSSフィードの中に挿入させたいと考えました(RSS自体が今更感はあるのですが……)。

WordPressでは のように、descriptionタグの中にpタグとimgタグを挿入することで意図した画像を表示させることを実装する例があり、これをMODxでやろうと思ったのが事の始まりです。

現在RSSはDittoを使って表示させているため、記事一覧など、HTMLを出力するのと同様に、下記のように

コード: 全て選択

&tpl='@CODE: '
で指定をしようとしました。

コード: 全て選択

&tpl='@CODE:
		<item>
			<title>[+rss_pagetitle+]</title>
			<link>[+url+]</link>
			<description><![CDATA[ <p><img src="[+eyecatch+]" alt="[+pagetitle+]"></p>[+summary:strip+] ]]></description>
			<pubDate>[+rss_date+]</pubDate>
			<guid isPermaLink="true">[+url+]</guid>
			<dc:creator>[+rss_author+]</dc:creator>
			[+tagLinks+]
		</item>
'
しかし、この方法ですとRSSフィードどころか、下記のようにDittoのスニペットの内容がほぼそのまま出力されてしまいます。

コード: 全て選択

[[Ditto?
&format=`rss`
&parents=`リソースID`
&display=`10`
&orderBy=`pub_date DESC`
&dateSource=`pub_date`
&tpl='@CODE:
		<item>
			<title></title>
			<link></link>
			<description><![CDATA[ <p><img src="" alt=""></p> ]]></description>
			<pubDate></pubDate>
			<guid isPermaLink="true"></guid>
			<dc:creator></dc:creator>
			
		</item>
'
]]
これを解決するには、どうすれば良いでしょうか?

ちなみに、別の環境(MODX Evo 1.0.15J)ではこれで意図した表示になりました。
リリースノートを見ると、1.0.16Jで「CDATAセクションの終端付近で誤動作を起こすため修正」とあるため、この修正が意図した動作になるか否かの分かれ目ではないかと思うのですが……。


以上、よろしくお願いします。
返信する