お知らせ

作って覚えるPHP+MySQLアプリケーション 2008年6月24日

作って覚えるPHP+MySQLアプリケーション」が発売されました。
PHP+MySQL+Smartyを使って、ブログ/ショッピングサイト/マッシュアップの3つのWebアプリケーションを作る方法を解説しています。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

カテゴリーごとにテンプレートを分ける

| コメント(0) | トラックバック(0)

Movable TypeのFAQの1つとして、「カテゴリーごとにテンプレートを分けて出力したい」というものがあります。
例えば、カテゴリーAはテンプレートXで出力し、カテゴリーBはテンプレートYで出力する・・・といった具合です。
この方法を紹介します。

1.カテゴリーごとにまったく異なるテンプレートを使いたい場合

この場合は、カテゴリーごとに別々のインデックステンプレート(カテゴリーアーカイブテンプレートではない)を作ります。
そして、エントリーの一覧を出力する際に、<MTEntries category="カテゴリー名">~</MTEntries>のようにして、特定のカテゴリーのエントリーだけを出力するようにします。

2.テンプレートの大半の部分が同じで、一部だけがカテゴリーごとに異なる場合

この場合は、カテゴリーアーカイブテンプレートの中で、カテゴリーの名前を判別して処理を分けるようにします。
拙作の「変数処理を改良するプラグイン」を利用すると、カテゴリーの名前を判別して処理を分けることができます。
例えば、カテゴリーAとカテゴリーBで出力する内容を変えたい場合、以下のようにタグを組みます。

<MTTagValueVar name="cat"><MTArchiveTitle></MTTagValueVar>
<MTIfStrVar name="cat" value="カテゴリーA">
カテゴリーAの時に出力する内容
</MTIfStrVar>
<MTIfStrVar name="cat" value="カテゴリーB">
カテゴリーBの時に出力する内容
</MTIfStrVar>

関連するエントリー(2件)

トラックバック(0件)

このブログ記事を参照しているブログ一覧: カテゴリーごとにテンプレートを分ける

このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/576.

コメントする

管理者のみにコメントを送信したい場合は、「コメントを秘密にする」のチェックをオンにしてコメントを送信するか、メールフォームからメールをお送りください。

ブログ全体の感想など、この記事に直接に関係しないコメントは、ゲストブックにお気軽に投稿してください。


アーカイブ

ブログパーツ

ステータス