Homeカスタマイズ>What'sNewの表示2(CustomFields,MTCollate)

What'sNewの表示2(CustomFields,MTCollate)

それでは、引き続きWhat's Newの表示方法の説明です。



3.CustomFieldsでの項目の追加

次は、CustomFieldsの設定画面で項目を追加しましょう。

(1)Movable Type-管理画面-ブログのトップ画面の下にある、『Edit Custom Entry Fields』#1をクリックしてください。CustomFieldsの設定画面が表示されます。(Entry用の画面)

(2)右側にある『Create New Field 』をクリックして、新しいFieldを追加します。

ここで

 Field名:”Date+”

 type:”Date”

としてください。

Field名は、テンプレートタグにてFieldの値を挿入する際のキーになります。

(3)「新規エントリー」画面を開くと、下のほうに追加したField”Date+”が表示されていると思います。新規エントリーを作成する際には、作成した年月日が自動的に入力されます。

4.「メインページテンプレート」の編集

それでは、追加したField(項目)を使ってWhats' Newを表示する方法を説明します。

(1)MTCollateでのソート

MTCollateプラグインを使って、”Date+”の最新5件を表示するようにします。

テンプレートには以下のように記入してください。


<MTCollateCollect>
<MTEntries author="cms-mt">
<MTCollateRecord>
	<MTCollateSetField name="entry_link"><$MTEntryLink$></MTCollateSetField>
	<MTCollateSetField name="entry_title"><$MTEntryTitle$></MTCollateSetField>
	<MTCollateSetField name="Date">
		<MTEntryData field="Date+">
		<MTEntryDataFieldValue format="%Y-%m-%d">
		</MTEntryData>
	</MTCollateSetField>
</MTCollateRecord>
</MTEntries>
</MTCollateCollect>


<MTCollateList sort="Date:-" limit="5">
	<h3><MTCollateField name="Date">:<a href="<MTCollateField name="entry_link">"><MTCollateField name="entry_title"></a></h3>
</MTCollateList>


これだけだとかなり分かりにくいと思いますので詳しく解説します。

(a)MTCollateのFieldに値を設定

<MTCollateCollect>から</MTCollateCollect>の間では、MTCollateのFieldに値を設定している部分です。

全てのエントリーについてMTCollateのFieldに値を設定しています。

<MTCollateSetField name="entry_link">○○○</MTCollateSetField>

とすると、MTCollateの”entry_link”というFieldに”○○○”という値を設定します。

ここでは”entry_link”、”entry_title”、”Date”と3つのFieldに値を設定しています。

それぞれには、以下の値を設定しています。

 ”entry_link”:エントリーページのURI(アドレス)

 ”entry_title”:エントリーのタイトル

 ”Date”:エントリーの更新日(CustomFieldsプラグインで追加した”Date+”)

特に注目は”Date”のところで、CustomFieldsプラグインで追加した”Date+”の値を設定しています。

<MTEntryData field="Date+">
<MTEntryDataFieldValue format="%Y-%m-%d">
</MTEntryData>

<MTEntryData field="Date+">CustomFieldsで追加した”Date+”の情報を取り出すためのコンテナタグです。

”Date+”の値は<MTEntryDataFieldValue>タグで呼び出せます。

更にCustomFieldsで形式を日付タイプにしているため、format="%Y-%m-%d"MovableTypeの日付と同じ属性を指定することが可能です。(すばらしいーっ)


(b)MTCollateでソートする

次はいよいよソートです。

<MTCollateList sort="Date:-" limit="5">
	○○○
</MTCollateList>

<MTCollateList>タグはMTCollateで定義した情報をリストアップするコンテナタグです。

ここでは以下のような属性を使っています。


sort="Date:-"

前半部分で設定して”Date”フィールドの降順にソートするように指示しています。


limit="5"

該当するものを5件リストアップするように指示しています。


くわしくは、MTCollateのページを参照ください。

Fieldの値を出力するには、<MTCollateField name="Date">と書きます。

name="○○"の○○の部分に前半部分で定義したMTCollateのField名を書いてください。

5.エントリーの新規作成、更新

エントリーを新規作成をするときには”Date+”に値が自動的に入力されます。

新規作成をした年月日が入りますので基本的にはそのままエントリーを保存すればOKです。

あとでエントリーを更新した際は、”Date+”を更新した日付に変更してください。

すると、What's Newで一番上に表示されます。


以上のように設定することで、デフォルトの”投稿日”を使わずにWhat's Newを表示することができます。

デフォルトの”投稿日”は、エントリーの並び順のコントロールに使うことができることになります。ヤッター!



#1:Ver1.2ではカテゴリーにもFieldを追加できるようになりましたね。カテゴリー関連でも色々とカスタマイズの幅が広がりそうです。<戻る>


≪ What'sNewの表示1(CustomFields,MTCollate) | このページのトップへ | RSSの更新日修正 ≫

このエントリーをはてなブックマークに追加 このページをはてなブックマークに追加


注目記事

MovableTypeを使うのにおすすめのレンタルサーバーってどれ?

MovableType独自タグの入力が簡単にできるホームページ作成ソフトは?

MovableTypeをカスタマイズするのにどんな本が参考になる?

「元気パワー」が増幅されるツールがあるって?

初心者の方・ホームページ作成中心の方へのおすすめのパソコンは?



トラックバック

このエントリーのトラックバックURL:

http://cms-mt.com/cgi/mt/mt-tb_.cgi/46