2008年3月アーカイブ

MT4.1 デフォルトテンプレート内において、ブログ記事の概要の中のブログ記事のメタデータ(モジュール)の中で設定されている変数hide_countsは、検索結果(システムテンプレート)のなかのブログ記事の概要(インクルード)の中で変数が設定されている。

以下ブログ記事のメタデータコード

<div class="asset-meta">
    <span class="byline vcard">
<MTIfNonEmpty tag="EntryAuthorDisplayName">
        <address class="vcard author"><$MTEntryAuthorLink show_hcard="1"$></address> (<abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$>)
<MTElse>
        <abbr class="published" title="<$MTEntryDate format_name="iso8601"$>"><$MTEntryDate format="%x %X"$></abbr>
</MTIfNonEmpty>
    </span>
    <span class="separator">|</span> <a class="permalink" rel="bookmark" href="<$MTEntryPermalink$>">個別ページ</a>
    <MTUnless name="hide_counts" eq="1">
        <MTIfCommentsActive>| <a href="<$MTEntryPermalink$>#comments">コメント(<$MTEntryCommentCount$>)</a></MTIfCommentsActive>
        <MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
    </MTUnless>
</div>

10行目の変数hide?countsは、システムモジュールのなかの検索結果テンプレートの中で変数が設定されている。以下該当部分のコードを書いておく。

<MTSearchResults>
    <MTBlogResultHeader>
<h1 id="page-title" class="search-results-header">
        <MTIfStraightSearch>
    <$MTBlogName encode_html="1"$>で「<$MTSearchString$>」と一致するもの
        </MTIfStraightSearch>
        <MTIfTagSearch>
    <$MTBlogName encode_html="1"$>でタグ「<$MTSearchString$>」が付けられているもの
        </MTIfTagSearch>
</h1>
<div class="search-results-container">
    </MTBlogResultHeader>
    <$MTInclude module="ブログ記事の概要" hide_counts="1"$>
    <MTBlogResultFooter>
</div>
    </MTBlogResultFooter>
</MTSearchResults>

システムテンプレート15行目から31行目からを抜粋したコードです。上記コードの中で13行目のインクルードタグの中でhide_countsの変数が設定されている。

というわけで、ブログ記事の概要(モジュール)は、インデックステンプレート、ブログ記事のリスト(アーカイブテンプレート)、検索結果(システムテンプレート)の3つのテンプレートで共通に使われているのですが、検索結果表示のページの時には、MTUnlessタグで囲われた部分が変数の値に一致しない限り、生成されないので、検索結果のみでしか生成表示されないということになります。

MT4.1のデフォルトテンプレートの中で使われているpage_columns(サイドバーモジュール条件分岐)とpage_layoutsの関係のコードを表示させておく。これは、システム内部で変数処理がおこなわれている

<mt:if name="page_layout" eq="layout-tw"> 
	<$mt:setvar name="page_columns" value="2"$> 
<mt:else name="page_layout" eq="layout-wt"> 
	<$mt:setvar name="page_columns" value="2"$> 
<mt:else name="page_layout" eq="layout-wm"> 
	<$mt:setvar name="page_columns" value="2"$> 
<mt:else name="page_layout" eq="layout-mw"> 
	<$mt:setvar name="page_columns" value="2"$> 
<mt:else name="page_layout" eq="layout-wtt"> 
	<$mt:setvar name="page_columns" value="3"$> 
<mt:else name="page_layout" eq="layout-twt"> 
	<$mt:setvar name="page_columns" value="3"$> 
</mt:if> 

スタイルシートのヘッダーに記述されるlayoutsの変数を内部で処理していることになる。

 

2カラムレイアウト(page_columns)

layout-tw

layout-wt

layout-wrn

layout-mw

3カラムレイアウト(page_columns)

layout-wtt

layout-twt

mixiの中でのmovabletypeコミュニティの中での質問で、

MTIfNonEmptyタグでMTElseは一緒に使えないとのことなので、

MTIfで代用することで、MTElseが使えるようになることを検証してみた。

結果、実際に使えました。以下その内容について書いておきます。

追記訂正:使えることがわかった。テンプレートの中でも使われています。

LPO Feed

人気アクセスランキング

Photos

このアーカイブについて

このページには、2008年3月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2008年2月です。

次のアーカイブは2008年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。