モンスターカレンダー

« 2008年12月 »
12345678910111213141516171819202122232425262728293031

2008年12月29日アーカイブ

MT4 MTEntriesでORを使う

| コメント(0) | トラックバック(0)
<MTEntries>ではモディファイアにAND, OR, NOT などを使った複雑なフィルタリングもできます。
これをMTSetVarBlockを使って、変数を定義して埋め込んだときにつまづいた部分。

<MTSetVarBlock name="Etag">
<MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags>
</MTSetVarBlock>

<MTEntries tags="$Etag">
                <MTEntriesHeader><ul></MTEntriesHeader>
                    <li><a href="<MTEntryPermalink>"><MTEntrytitle></a></li>
                <MTEntriesFooter></ul></MTEntriesFooter>
 </MTEntries>

こんなソースを書いたんですが、タグが一つの時はうまくいく。
$Etagの部分に直接複数使って記述してもうまくいく。
なのになのに、上記のソースでは複数のタグがエラーになって再構築できない!


理由は簡単なところにありました。

<MTSetVarBlock name="Etag">
<MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags>
</MTSetVarBlock>

ここを

<MTSetVarBlock name="Etag"><MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags></MTSetVarBlock>

と修正したら直りました。つまり、改行をなくして、1行に書いたんです。リストの時に改行すると変な空白ができるのと一緒ですね。 焦りましたが気づいてよかったー。