2018/03/27
【知識ゼロから始めるMovable Type】テンプレートタグ
みなさん、CMSはどのようなものを使われていますか?
私はつい最近「MT」の愛称でおなじみの「Movable Type」を初めて触りました。
そこで悩んだのが、MTを扱う上では欠かせない「テンプレートタグ」と呼ばれるもの。次回のためにも・・・!と備忘録もかねて紹介したいと思います。
目次
- 1 まず「テンプレートタグ」って何?
- 2 「テンプレート」って何?
- 3 「テンプレートタグ」の使い方
- 4 テンプレートタグの使用例
- 4.1 記事のタイトルを表示させたい
- 4.2 記事タイトルを3件だけ表示させたい
- 4.3 最新記事3件を非表示にしたい
- 4.4 カスタムフィールドの入力内容を表示させたい
- 4.5 カスタムフィールドへの入力がない場合は非表示にしたい
- 4.6 カスタムフィールドでアップロードしたPDFをリンクさせたい。
- 4.7 カテゴリ名とそのカテゴリに属する記事の件数を表示させたい
- 4.8 カテゴリの管理画面上の順番で、上から表示させたい
- 4.9 カテゴリに属する記事がある場合のみ、そのカテゴリ名を表示させたい
- 4.10 カテゴリの一覧ページURLを出力させたい
- 4.11 アーカイブ名(○○○○年)と属する記事件数を表示させたい
- 4.12 アーカイブのURLを出力させたい。
まず「テンプレートタグ」って何?
簡単にまとめると、MTで作成した記事などを表示させるために必要なタグです。
この「テンプレートタグ」を「テンプレート」と呼ばれるものに記述していきます。
「テンプレート」って何?
簡単に言うと、htmlファイルのようなものです。そこに「テンプレートタグ」を使って、MTの管理画面で作成した記事などを表示させる記述を書いていきます。
テンプレートにもいくつか種類があり、ここでは諸々省きますが以下のものがあります。
インデックステンプレート
ブログ全体に関わるものに利用します。
例)メインページ(イメージはindex.html)、スタイルシートファイル、JavaScript等
アーカイブテンプレート
ブログ記事の年別月別など様々なアーカイブを出力する際に利用します。
テンプレートモジュール
ブログで利用する共通パーツを作成する際に利用します。
システムテンプレート
画像のポップアップウィンドウやコメントのプレビューなどに利用します。
「テンプレートタグ」の使い方
「ブロックタグ」「ファンクションタグ」の2種類があります。
ブロックタグ
開始タグ/閉じタグを記述します。
ファンクションタグ
単体で使用することが出来ます。
ファンクションタグによっては、特定のブロックタグの中でしか動作しないものもあります。
例:
<mt:Entries>
<h2><mt:EntryTitle></h2>
</mt:Entries>
こうしてみると、HTMLの書き方とそっくりですね。
このようにテンプレートタグを記述して、記事の表示等を行います。
テンプレートタグの使用例
実際にMT構築の際に使用したものをまとめてみました。
参考にどうぞ。
記事のタイトルを表示させたい
<mt:Entries>
<$mt:EntryTitle$>
</mt:Entries>
記事タイトルを3件だけ表示させたい
<mt:Entries lastn="3">
<$mt:EntryTitle$>
</mt:Entries>
最新記事3件を非表示にしたい
<mt:Entries offset="3">
<$mt:EntryTitle$>
</mt:Entries>
カスタムフィールドの入力内容を表示させたい
テンプレートタグ例:sample_tag
<mt:Entries>
<mt:sample_tag>
</mt:Entries>
カスタムフィールドへの入力がない場合は非表示にしたい
テンプレートタグ例:sample_tag
<mt:Entries>
<mt:If tag="sample_tag">
<mt:sample_tag>
</mt:If>
</mt:Entries>
カスタムフィールドでアップロードしたPDFをリンクさせたい。
テンプレートタグ例:sample_pdf
<mt:Entries>
<mt:sample_pdfAsset>
<a href="<$mt:AssetURL$>" target="_blank"></a>
</mt:sample_pdfAsset>
</mt:Entries>
カテゴリ名とそのカテゴリに属する記事の件数を表示させたい
出力例:カテゴリ名(1)
<mt:TopLevelCategories>
<$mt:CategoryLabel$>(<$mt:CategoryCount$>)
</mt:TopLevelCategories>
カテゴリの管理画面上の順番で、上から表示させたい
<mt:TopLevelCategories sort_by="user_custom">
<$mt:CategoryLabel$>
</mt:TopLevelCategories>
カテゴリに属する記事がある場合のみ、そのカテゴリ名を表示させたい
<mt:TopLevelCategories sort_by="user_custom">
<mt:If tag="CategoryCount">
<$mt:CategoryLabel$>
</mt:If>
</mt:TopLevelCategories>
カテゴリの一覧ページURLを出力させたい
<mt:TopLevelCategories sort_by="user_custom">
<a href="<$mt:ArchiveLink type='Category'$>"></a>
</mt:TopLevelCategories>
アーカイブ名(○○○○年)と属する記事件数を表示させたい
<mt:ArchiveList archive_type ="Yearly">
<$mt:ArchiveTitle$>(<$mt:ArchiveCount>)
</mt:ArchiveList>
アーカイブのURLを出力させたい。
<mt:ArchiveList archive_type ="Yearly">
<a href="<mt:ArchiveLink>"></a>
</mt:ArchiveList>
ものにしてしまえば簡単なことでも、掴めるまでは調べながら試行錯誤していかなければならないので大変ですよね。
今後も、更新していきたいと思います。
コーディング業務のご依頼、ご相談の詳細についてはこちらから
最後までお読みいただき、ありがとうございました。
よろしければシェアしていただければ幸いです。
次の記事へ | 前の記事へ |
WEB業界ならqam!qam(カム)はWEB業界で働く人や興味がある人に役立つ情報サイトです。
マーケティングやデザイン、マークアップ(コーディング)、プログラム、トレンドなどの情報をqamライター陣が執筆。噛めば噛むほど(読めば読むほど)制作・開発や運営・運用、業界知識やノウハウを学ぶことができます。