トータルWEB トップ > ちょっとテクニカル > Movable Typeでカテゴリーごとに表示内容を変える

Movable Typeでカテゴリーごとに表示内容を変える

Movable TypeをCMS(コンテンツ管理システム)として、企業サイトを構築していると、カテゴリーの制御でカスタマイズが必要となる場合が多くあります。

インデックス → カテゴリー → 個別エントリーの3階層で、時系列にコンテンツを管理することが基本とされたシステムですので、全てをこのルールで作成することは無理が出てきます。

たとえば、商品とFAQとでは、カテゴリーページで見せたい内容が違ったとしても、標準では全てのカテゴリーで同じテンプレートを使用しますので、同じ表示内容となってしまいます。

しかし、Movable Typeは拡張性が高いシステムですから、カスタマイズを行うことで、ほとんどの要求には対応が出来るのです。

では、どのような方法でカテゴリーページの内容を変えることが出来るかを説明していきます。

「カテゴリーの説明」欄にカテゴリーごとのHTMLを入れる

一番簡単なカスタマイズの方法ですが、カテゴリーの説明を記載する程度であれば、「カテゴリーの説明」欄にHTMLを記載することで対応できます。

しかし、コンテンツの出力ファイル名の制御のため、カテゴリーの日本語名の保存に説明欄を使ってしまった場合、他に空いている項目がありませんので、どちらかを選択しなければなりません。

カテゴリーの並び替えのために、名称の先頭に数字などを入れた場合も同様です。また、これから説明する方法の多くは、カテゴリー名による制御ですので名称を変更した場合には、合わせて修正が必要であることに注意してください。

カテゴリーごとにタイトル画像を切り替える

これもよく使うテクニックですが、ページのタイトル画像をカテゴリーごとに用意して入れ替えるものです。

カテゴリーの数だけタイトル画像を用意する必要はありますが、利用者に与える印象は大きく改善することが可能ですし、運用面も比較的簡単な方法となります。

カテゴリーごとにスタイルシートを切り替える

カテゴリーごとに特定のエリアの背景色を換えたりデザインを変更することで、どのカテゴリーにいるかを解りやすくすることが出来ます。

利用者に与える印象を大きく変化させることが出来ますが、カテゴリーを追加するごとにスタイルを追加する必要があります。

カテゴリーの数が少なく、追加もあまり無いのであれば、全てのカテゴリーの内容をHTML上は記載しておいて、CSSで該当するカテゴリーの内容だけ表示、非表示を切り替えるような方法も可能ではあります。

テンプレートモジュールを使用する

この方法は自由度が高く、本格的なカスタマイズにも対応できる手法です。

カテゴリー名ごとに「テンプレートモジュール」を作成して、その中にカテゴリーごとのページ内容を記載します。そしてカテゴリーテンプレートから、そのカテゴリー名と同じテンプレートモジュールを読込むことで利用します。

テンプレートモジュールを使用した場合の利点としては、MovableTypeのタグが記載できるため、動的な生成内容までも個別に制御できることです。

しかし、個別にタグを記載するようなカスタマイズを行うケースは少なく、カテゴリーごとのHTMLを記載した内容を差し替える程度で対応できることが多いようです。

静的なHTMLを差し替えるだけであれば、PHPでそのファイルをインクルードすることでも実現可能です。もし、これからサイトを構築されるのならPHPを使用されると色々と拡張性できるのでお勧めです。

特定のエントリーを割り当てる

カテゴリー内の先頭など特定のエントリーをカテゴリーページに表示するものです。

カテゴリーページの更新を通常のエントリーの更新と同じ手順で行えるため運用面でのメリットは大きいと言えます。

プラグインを利用する

MovableTypeの特徴としてプラグインによる機能拡張があります。

これまでに説明した例だけでも、ほとんどのケースは対応が可能だと思いますが、カテゴリーを追加する度に何かしらの作業が必要な点が問題となります。

switchプラグインなどを使用することで、特定のカテゴリーだけ制御を切り替えることが可能となりますので、カテゴリーを後から追加したとしても、デフォルトの処理をさせることでエラーとならないような制御が可能となります。

カテゴリーにより表示を変えた例

⇒ エントリーの一覧を表示
⇒ 先頭のエントリーを表示

カテゴリーページは、コンテンツの内容により、概要を一覧で見せたい場合や先頭のページから順番に読ませたい場合など、1つのサイト内でも見せ方を分けることにより自由度が高まります。

特定のカテゴリーだけ、エントリーページを含めて異なる表示を行うことも可能です、

⇒ エントリーから写真を一覧表示した例

 

複数のブログを組み合せる

デザインや制御を大幅に変えたいのなら、それぞれを別のブログにすれば、自由度は一番高くなります。

別のブログといっても同じサーバー上に構築しますので、テンプレートのモジュールをブログ間で共有したり、他の更新情報を取り込んだり連動させることも出来ます。

複数のブログを組み合せた構築を行うと、基本のデザインは同じで大分類ごとにサイドメニューの内容や、タイトル画像などを変えることがきます。会社のホームページと情報発信のブログを一体化し、内部的に連動させて、更新情報などもブログ間で自動的に整合性を取り、運用の手間も軽減することができます。

MovableTypeの場合、ブログごとにユーザー権限の設定を行いますので、記事を書く担当者が異なる場合も、この方法は有効です。ニュースやFAQ(よくある質問)など別ブログで作成すれば、個々にに利用できるユーザーを設定できますので、ホームページ担当者の手を煩わすことなく、それぞれの部署や担当者が記事の投稿や更新を行う運用も可能となります。

個別エントリーのレイアウトを変えたい場合も、ブログを別けると良いかもしれません。

この場合も共通部分はモジュールなどで共有し、ブログ間で整合性が保てる構築をすることが大切です。運用の手間が大きく違ってきます。

ちょっとテクニカル」の一覧

最新の記事