Drupal : フロントページのカスタマイズ

Last edited on 2011/02/20 (日) - 15:28

[追記]:さらにフロントページのデザインを変更しました。現在は、こちら

Drupal の標準のフロントページは、各エントリーを新しい物から順にティーザー(概要)表示するだけの単純なものだ。1ページあたりの表示エントリ数は指定できて、各ページの下部に簡単なページャが作成される。

最初はこれでよかったが、いろいろな記事を書きためていってエントリ数が増えてきたので、少しカスタマイズすることにした。正確にはカスタマイズではなく、新たにページを作成してそのページをデフォルトのフロントページとして設定し直している。

標準のフロントページは下部にページャがついているが、2,3ページならともかく、10ページ以上にもなると使い勝手が悪く、あまり役に立たない。そこで、最近のエントリだけ残して、古い記事はアーカイブページへ追いやってしまうことにした。フロントページだけ見ればよいようにしてページャを使うことをやめた。

ティーザー表示でもあまり数が多いと重くなるので、最新の4エントリのみをティーザー表示とし、次の10エントリはタイトルだけ表示している。そして、一番下にアーカイブページへのリンクを置いた。

frontpage screenshot

実現方法だが、DrupalのPanelモジュールを使ったページを作っている。3つのコンテンツを一つのパネルページに入れている。一つめは最新4エントリのティーザー表示で、これはViewsモジュールでBlockを作成した。2つめは、次の10エントリのリスト表示で、これもViewsモジュールでBlockを作成した。3つめはカスタムコンテンツで、これは単にアーカイブページへのリンクを1行書いただけのものだ。

アーカイブページ自体は、これとは別に以前から作ってあった物で、これもViewsで実現している。

Viewsのコンテンツは独自にキャッシュ機構を備えているので、これも使っている。最近、サイトへのアクセスが重たく感じるようになったのだが、これで少しは軽くなったのではないかと思っている。