ZerRoさん。いつもありがとうございます。
デフォルトのrssのテンプレートの[+summary+]の部分を
[+introtext:notags+] とかにして、htmlタグを除去したかったのと、
あと、テスト的にいろいろやってみたかったのです。。
で、たとえば、以下のようにすると
[[Ditto? &parents=`54,70,307` &format=`rss` &summarize=`999` &total=`999` &showInMenuOnly=`1` &depth=`1` &tpl=`ditto_rsstpl` &language=`japanese-utf8`]]
tplにはditto_rsstplが使われて、意図したとおりの結果が得られるのですが、
パラメータに「&header=`ditto_rssheader`」として、たとえば、
ditto_rssheaderには、dittoの外部リソース「format/rss.format.inc.php」の中の
「$rss_header = <<<TPL」以下をそっくり、書いたとします。
ちなみに、rss_header 以下は以下のようなのですが:
<?xml version="1.0" encoding="[+rss_charset+]" ?>
[+rss_xsl+]
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>[*pagetitle*]</title>
<link>[+rss_link+]</link>
<description>[*description*]</description>
<language>[+rss_lang+]</language>
<copyright>[+rss_copyright+]</copyright>
<ttl>[+rss_ttl+]</ttl>
上記をチャンクに書いて、「&header=`チャンク名`」で呼び出せば、
理屈では、&headerを指定しない場合と同じ状態になるはずですよね??
でも、エラーになっちゃうのです。。
具体的には以下のような画面表示で:
XML パースエラー: 構文エラー。
URL: http://www.liolion.info/modx/modx_indx.xml
行番号: 1, 列番号: 1:ditto_rssheader <item>
ソースをみると、以下のようになっています。
ditto_rssheader <item>
<title>SEO Strict URLs</title>
<link>http://www.liolion.info/modx/resource/seo_strict_urls.html</link>
<description><![CDATA[ SEO Strict URLs プラグインは、フレンドリURLを利用している場合にMODxがはき出してしまう複数のURLをひとつに統一します。複数のURLを持つページは、サーチエンジンなどからペナルティを課せられる場合があります。このプラグインはそれを避けることができるでしょう。 ]]></description>
<pubDate>Sun, 12 Aug 2007 22:46:41 +0900</pubDate>
<guid isPermaLink="false">http://www.liolion.info/modx/resource/seo_strict_urls.html</guid>
<dc:creator>MEGU</dc:creator>
</item>
<item>
上記の<item>~は、tplの内容なので、&header=`チャンク`としたテキストが
そのまま出てきちゃってるみたいなんです。
また、format/rss.format.inc.php の最後の方に以下のようになっているので
$header = isset($header) ? $header : template::replace($rss_placeholders,$rss_header);
$tpl = isset($tpl) ? $tpl : "@CODE:".$rss_tpl;
$footer = isset($footer) ? $footer : $rss_footer;
「&header=`チャンク名`」でテンプレートが指定できると思いこんでいるのですが、
そもそもそこからして間違ってているのでしょうか。。