mtde.info

Movable Type Developers Express

このカテゴリでは、新しいテンプレートタグや変数を用いたさまざまなサンプルを解説しています。

『その他のサンプル』カテゴリ内のエントリ一覧

meta要素のdescriptionを、変数を用いて分岐処理・最適化

2008年3月16日 07:38 | Writer: apstar | 記事本文

meta要素のdescriptionを、変数を用いて分岐処理・最適化します。

ヘッダーモジュールは全てのテンプレートから同じようにインクルードされていますが、エントリテンプレートの場合のみ概要をMTEntryExcerptを用いて記述する例です。

GetDescription変数を「MTBlogName:ブログを表現する文章」で初期化(ここではMTBlogDescriptionを用いてもいいです)、エントリページであれば。「MTBlogName:MTEntryExcerpt」で上書きします。

なお、サンプルでMTBlogDescriptionを用いていないのは、MTBlogDescriptionに適した説明が入っていない場合を想定しています。

コード

<MTSetVarBlock name="GetDescription"><$MTBlogName$>:Movable Type 4 専門の解説サイトです。詳細な解説や多彩なサンプルを掲載しています。</MTSetVarBlock>
<MTIf name="entry_template">
   <MTSetVarBlock name="GetDescription"><$MTBlogName$>:<$MTEntryExcerpt$></MTSetVarBlock>
</MTIf>
<meta name="description" content="<$MTGetVar name="GetDescription"$>" />

参考ページ

atstyle:MovableType 4でdescriptionを記述する

meta要素のkeywordを、変数を用いて分岐処理・最適化

2008年3月16日 07:52 | Writer: apstar | 記事本文 | トラックバック(1)

meta要素のkeywordを、変数を用いて分岐処理・最適化します。

ヘッダーモジュールは全てのテンプレートから同じようにインクルードされていますが、エントリテンプレートの場合のみキーワードにエントリに与えられたキーワード・タグを追加して記述する例です。

まずはGetKeywords変数を、あらかじめキーワードを代入して初期化します。

もしエントリページであれば、エントリ用のキーワードが与えられていればAddEntryKeyWord変数へキーワードを代入、つぎにGetKeywords変数へAddEntryKeyWord変数の内容を連結(appendモデファイアで追加)します。

さらに、エントリ用のタグが与えられていればAddEntryTags変数へタグをカンマ区切りで代入、GetKeywords変数へAddEntryTags変数を連結します。

コード

<MTSetVar name="GetKeywords" value="Movable Type,MT4,MT4.1,MT,解説,ブログ">
<MTIf name="entry_template">
   <MTIfNonZero tag="MTEntryKeywords">
      <MTSetVarBlock name="AddEntryKeyWord">,<MTEntryKeywords></MTSetVarBlock>
      <$MTSetVar name="GetKeywords" value="$AddEntryKeyWord" append="1">
   </MTIfNonZero>
   <MTEntryIfTagged>
      <MTSetVarBlock name="AddEntryTags">,<MTEntryTags glue=","><$MTTagName$></MTEntryTags></MTSetVarBlock>
      <$MTSetVar name="GetKeywords" value="$AddEntryTags" append="1">
   </MTEntryIfTagged>
</MTIf>
<meta name="keywords" content="<$MTGetVar name="GetKeywords"$>" />

参考ページ

atstyle:MovableType 4でkeywordsを記述する【改訂版】

サイト内のエントリ数を取得する

2008年3月16日 12:08 | Writer: apstar | 記事本文

サイト内のエントリ数を取得します。

公開されているエントリ数のみをカウントします。下書き状態のエントリは含みません。

コード

エントリ数:<$MTBlogEntryCount$>

このエントリにサンプルコードを貼った動作サンプル

エントリ数:322

サイトの最終更新日時を取得する

2008年3月16日 12:13 | Writer: apstar | 記事本文 | トラックバック(1)

サイトの最終更新日時を取得します。

いろいろな方法が考えられますが、シンプルに「サイトの再構築の日時」を取得し、フォーマット系のモデファイアで出力状態を調整したのが下の例です。

コード

最終更新日:<MTDate language="ja" format="%x %X">

このエントリにサンプルコードを貼った動作サンプル

最終更新日:2008年6月16日 01:06

全てのエントリ中の最新作成日時を得る

2008年3月18日 22:13 | Writer: apstar | 記事本文

全てのエントリ中の最新作成日時を取得します。

これを取得するには、以下のようなコードでOKです。

サンプルコード1

<MTEntries lastn="1" sort_by="created_on">
  <p><MTEntryDate language="ja" format="%x %X"></p>
</MTEntries>

このエントリにサンプルコード1を貼った動作サンプル

2008年3月16日 07:38

created_onモデファイアを使わずに変数を用いて取得するサンプル

まず、最新作成日時を保持するNewestDate変数を0で初期化します。次にMTEntriesループ中で、NewestDate変数と各エントリの作成日時(MTEntryDateテンプレートタグで取得)を代入したLopDate変数をひとつひとつ比較し、もしLopDate変数のほうがNewestDate変数より新しければ、NewestDate変数をLopDate変数の値で上書きします。

サンプルコード2

<MTSetVar name="NewestDate" value="0">
<MTEntries>
   <MTSetVarBlock name="LopDate"><MTEntryDate language="ja" format="%x %X"></MTSetVarBlock>
   <MTIf name="LopDate" gt="$NewestDate">
      <MTSetVar name="NewestDate" value="$LopDate">
   </MTIf>
</MTEntries>

<P><MTGetVar name="NewestDate"></p>

このエントリにサンプルコード2を貼った動作サンプル

2008年3月18日 22:13

エントリ
タグ
はじめに
導入編
ローカル環境
変数
サンプル
その他
トラブル集
2008 mtde.info