Movable Typeの標準の状態では、
「カスタムフィールド」
今回は、
今回の連載を通して作成しているサイト全体でいうところの、
![図1 今回の対象は商品一覧のディレクトリ 図1 今回の対象は商品一覧のディレクトリ](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_001.jpg)
なお、
HTMLテンプレートの用意とカスタムフィールドの作成
あらかじめ、
- 商品一覧ページ
(product/ index. html) - 商品紹介個別ページ
(product/ individual. html)
![図2 商品一覧ページ、商品紹介の個別ページを、MTを使って更新できるようにカスタムフィールドを使ってカスタマイズしていきます 図2 商品一覧ページ、商品紹介の個別ページを、MTを使って更新できるようにカスタムフィールドを使ってカスタマイズしていきます](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_002t.jpg)
それでは
ブログを新規作成で、
![図3 新しく「商品一覧」のブログを作成します 図3 新しく「商品一覧」のブログを作成します](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_003.jpg)
次に、
今回作成するカスタムフィールドは5つ、
![図4 作成するカスタムフィールド 図4 作成するカスタムフィールド](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_004.jpg)
左メニューにある、
![図5 カスタムフィールドの作成画面でこのような感じで入力していきます 図5 カスタムフィールドの作成画面でこのような感じで入力していきます](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_005.jpg)
作成するカスタムフィールドと値は以下のとおり。
カスタムフィールドのテンプレートタグ名は、
名前 | オブジェクト | 説明 | 種類 | 必須? | 既定値 | ベースネーム | テンプレートタグ |
---|---|---|---|---|---|---|---|
商品画像 | ブログ記事 | 300×300の商品画像をアップロードしてください | 画像 | YES | image | image | |
価格 | ブログ記事 | テキスト | YES | price | price | ||
カラー | ブログ記事 | テキスト | YES | color | color | ||
サイズ | ブログ記事 | テキスト | YES | size | size | ||
素材 | ブログ記事 | テキスト | YES | material | material |
これで5つのカスタムフィールドができあがりました。
ブログ記事の入力画面を確認してみると、
![図6 できあがったカスタムフィールド 図6 できあがったカスタムフィールド](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_006.jpg)
- ※ 入力項目を
「必須」 にしていないカスタムフィールド項目は、 デフォルトでは記事の入力画面には出てきません。記事の入力画面の右上にある 「表示オプション」 から、 入力画面に表示させたい項目を選択してください。
カスタムフィールドを使ったテンプレート作成
カスタムフィールドで入力した内容を表示させるために、
デザイン > テンプレートを開き、
- インデックステンプレート:Javascriptとメインページ以外削除
- アーカイブテンプレート:ブログ記事以外削除
- テンプレートモジュール:すべて削除
- ウィジェットセット:すべて削除
- システムテンプレート:そのまま
(すべて削除しても問題無し)
まずはブログ記事のテンプレートから設定していきましょう。
アーカイブテンプレート > ブログ記事へ移動します。
「ブログ記事」
「ブロク記事」
- テンプレートの設定 > アーカイブマッピング >
から設定するアーカイブマッピングのURLを以下のように変更します。
- category/
sub-category/ entry-basename. html
次に、
そしてあらかじめ用意しておいた
<h1><$MTEntryTitle$></h1>
<p><$MTEntryBody$></p>
<MTimageAsset><img src="<$MTAssetURL$>" /></MTimageAsset>
<table>
<tr>
<th>価格</th>
<td><$MTprise$></td>
</tr>
<tr>
<th>カラー</th>
<td><$MTcolor$></td>
</tr>
<tr>
<th>サイズ</th>
<td><$MTsize$></td>
</tr>
<tr>
<th>素材</th>
<td><$MTmaterial$></td>
</tr>
</table>
今回初めて出てきたMTタグの解説です。
<$MT○○(カスタムフィールド作成時に設定したテンプレートタグ名)$>
カスタムフィールド作成時に設定したMTテンプレートタグの英数字を<$MT○○$>に指定すると、
<MT○○Asset><img src="<$MTAssetURL$>" /></MT〇〇Asset>
カスタムフィールドからアップロードしたアイテムを、
テンプレートをプレビューし問題なさそうであれば、
「ブログ(商品一覧)」
![図7 商品紹介の個別記事 図7 商品紹介の個別記事](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_007.jpg)
次は商品一覧のトップページに、
インデックスページに、カスタムフィールドも含んだ記事を一覧させる
商品一覧ページには、
![図8 入力した記事のタイトルを一覧表示させる設定 図8 入力した記事のタイトルを一覧表示させる設定](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_008.jpg)
ブログ名(商品一覧) > デザイン > インデックステンプレート > メインページを開きます。
次に、
そしてあらかじめ用意しておいた
そして、
<mt:Entries>
<table>
<tr>
<th><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></th>
<th><$MTprise$>円</th>
</tr>
<tr>
<td><MTimageAsset><img src="<$MTAssetURL$>" /></MTimageAsset></td>
<td><$MTEntryBody$></td>
</tr>
</table>
</mt:Entries>
これまでの連載の中から既出のタグだけで表示できます。
<mt:Entries>~</mt:Entries>の中に、
さらにサイドメニューの更新タイトル一覧の箇所は以下のように設定しています。
<mt:Entries>
<ul><li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a></li></ul>
</mt:Entries>
商品紹介のインデックスページは図9のような設定で、
![図9 商品紹介のインデックスページ 図9 商品紹介のインデックスページ](/assets/images/design/serial/01/mtcorp_cms/0005/thumb/TH800_009.jpg)
第5回では、
カスタムフィールドはMTをCMSとして使うためには欠かせない機能で、
第5回をもって、
最終回の次回では、