45式::雑記
45式::雑記は、日々の事を記してないから日記ではなく雑記です。

MTPagesタグ中でMTEntry*タグが動作する

コメント
0件
トラックバック
2件

記事タイトルだけで十分だと思いますが(笑

MTPagesタグ中ではMTPage*タグだけでなく、MTEntry*タグも動作します。
次の例ではMTPagesタグ中にMTPage*タグを一切使っていませんが、ウェブページの一覧が出力されます。

<MTPages>
    <MTEntriesHeader>
        <ul>
    </MTEntriesHeader>
        <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
    <MTEntriesFooter>
        </ul>
    </MTEntriesFooter>
</MTPages>

MT4.27で試した限りでは、正常に動作しました。
それでも全てのMTEntry*タグを試したわけではありません。
しかし、データベースの構造とMTPagesタグの内部処理を見た限り、MT4.*までなら問題なく動作すると思います。

用法

変数を使い、ブログ記事とウェブページを同じ構造で出力させる事ができます。

<MTSetVarTemplate name="entry_block">
    <MTEntriesHeader>
        <ul>
    </MTEntriesHeader>
        <li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
    <MTEntriesFooter>
        </ul>
    </MTEntriesFooter>
</MTSetVarTemplate>
<MTEntries>
    <$MTGetVar name="entry_block"$>
</MTEntries>
<MTPages>
    <$MTGetVar name="entry_block"$>
</MTPages>

もっと複雑な構造の場合でないと十分な効果を発揮できないと思います。

他に、欲しいMTPage*タグがない場合に、MTEntry*タグで代用する事ができます。
MTEntry*タグに比べてMTPage*タグはまだまだ少ないです。

ちなみに、MTEntriesタグ中でMTPage*タグを使おうとするとエラーになります。
ただ、MTEntriesタグでウェブページを出力する事ならclass_typeモディファイアで可能です。

補足:MTEntry*タグとMTPage*タグの対応表

MTEntry*タグで代用する時のために、対応するMTEntry*タグとMTPage*タグを表に並べてみました。
MovableType.jpのタグリファレンスから大まかに抽出しただけですが、参考にはなると思います。
カスタムフィールドなどのプラグインによって拡張されるMTタグは除外してあります。

MTEntryClassタグがブログ記事側のみで、MTEntryClassLabelタグが両方に跨いでいるのは、タグリファレンスでの扱いに準じているからです。

MTタグの対応表(2010年6月2日時点)
ブログ記事 ウェブページ
MTEntries MTPages
MTEntriesCount
MTEntriesFooter MTPagesFooter
MTEntriesHeader MTPagesHeader
MTEntriesWithSubCategories
MTEntryAdditionalCategories
MTEntryAssets MTPageAssets
MTEntryAtomID
MTEntryAuthor
MTEntryAuthorDisplayName MTPageAuthorDisplayName
MTEntryAuthorEmail MTPageAuthorEmail
MTEntryAuthorID
MTEntryAuthorLink MTPageAuthorLink
MTEntryAuthorNickname
MTEntryAuthorURL MTPageAuthorURL
MTEntryAuthorUsername
MTEntryAuthorUserpic
MTEntryAuthorUserpicAsset
MTEntryAuthorUserpicURL
MTEntryBasename
MTEntryBlogDescription
MTEntryBlogID
MTEntryBlogName MTPageBasename
MTEntryBlogURL
MTEntryBody MTPageBody
MTEntryCategories
MTEntryCategory MTPageFolder
MTEntryClass
MTEntryClassLabel
MTEntryCommentCount
MTEntryCreatedDate
MTEntryDate MTPageDate
MTEntryEditLink
MTEntryExcerpt MTPageExcerpt
MTEntryFlag
MTEntryID MTPageID
MTEntryIfAllowComments
MTEntryIfAllowPings
MTEntryIfCategory
MTEntryIfCommentsOpen
MTEntryIfExtended
MTEntryIfTagged MTPageIfTagged
MTEntryKeywords MTPageKeywords
MTEntryLink
MTEntryModifiedDate MTPageModifiedDate
MTEntryMore MTPageMore
MTEntryNext MTPageNext
MTEntryPermalink MTPagePermalink
MTEntryPrevious MTPagePrevious
MTEntryRank
MTEntryScore
MTEntryScoreAvg
MTEntryScoreCount
MTEntryScoreHigh
MTEntryScoreLow
MTEntryStatus
MTEntryTags MTPageTags
MTEntryTitle MTPageTitle
MTEntryTrackbackCount
MTEntryTrackbackData
MTEntryTrackbackID
MTEntryTrackbackLink

実際に並べてみるとMTPage*タグの少なさが目立ちます。

コメント[0]

コメントはまだありません。

コメント投稿フォーム

コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。

コメント投稿フォーム

トラックバック[2]

MTEntriesタグのclass_typeモディファイア - 45式::雑記 (2010年6月5日01:29)
MTEntriesタグはclass_typeというモディファイアが存在します。 これを使うとMTEntriesタグでウェブページが出力できます。
Atom/RSSフィードにウェブページを追加する簡単な方法 - 45式::雑記 (2010年6月6日01:02)
Atom/RSSフィードにウェブページを追加する簡単な方法です。 とはいえ、ソースをコピペされるだけなら他の方法と労力は変わりませんが。
カテゴリ
アーカイブ
ヘルプ
Feed

フィードとは