前回のブログで紹介したDrupalのケーススタディ・その2です。
前回はブログの部分を中心にご紹介いたしました。今回は Viewsモジュールの利用について説明します。Viewsについては前回簡単に説明しましたが、このモジュールが使いこなせるにようになると既に入力されているコンテンツの再利用が簡単に行えます。このViews + CCKはDrupalの肝になります。これさえ使いこなせれば、可能性は無限に広がります。
ブログには複数の画像を1つのブログで入力できるようにして、画像をギャラリー風に見せるという部分は説明したと思います。では、ブログ一覧のページを見やすく、使いやすくするにはどうすれば良いか?せっかく、写真が自由に使えるようになったのに、画像も効果的に使いながらブログを紹介できないか?
そこで Viewsモジュールが有用になります。Viewsモジュールは何を提供してくれるかと言うと、SQLやプログラマーでないHTMLデザイナーでも簡単にコンテンツの検索・ソート機能をプログラムを一行もかかずとも可能にしてくれます。過去のバージョン1では、基本的なコンテンツ(ノードといいます)しか扱えませんでしたが、Views APIに準拠したコンテンツであればいくらでも拡張可能な状態になっています。自分が作った独自に作ったモジュールでも、単純なテキスト(数字、文字列など)であれば予め用意されているViews APIのメソッドを継承して使えますので最小限のコード追加で対応させることができます(これについては、もう少し手が空いたら書きます)。
さて、話は長くなりましたが、実際にどこに使われているかというと、フロントページ、ブログリストやサイドバーにある「Latest 〜」にも利用されています。さらに店内の写真ギャラリー(Collectionはちょっと違う仕組み)用XMLの生成に使っています。

ブログリストの例(写真一枚と、ブログの要約)
さらに、Pathautoモジュールを使うとViewsで作ったページのパス毎に テンプレート(page-〜.tpl.php)が作れるようになり、最強なツールになります。Pathautoは、味気ないDrupalパス(何も考えないで投稿すると、http://10share.com/node/12)をコンテンツ毎に一定パターンで自動的に生成する機能が主に知られていますが、Viewsと組み合わせることでコンテンツ毎に違うパターンのページテンプレートを作れるようになります。この方法を活かせば、Thinkboxやlightbox2でiframeのコンテンツを作ったりすることにも使えます(他のサイトで使ってます)。
walnuts.jpに使われている機能は、Drupalの可能性のほんの一部です。正直に言うと手堅い部分しか挑戦していません。CMSの真価は、コンテンツが増えてきて過去の資産をどう見せていくか?再整理して何か面白いものが生み出せないのか?他のサイトとのマッシュアップやコラボレーションは出来ないのか?まだまだ、walnuts.jpでは、色々と試していく予定ですので定期的にチェックしてくださいね。
Tweeterでこのブログをつぶやいたり、ソーシャル・ブックマークに登録する時は以下のリンクをお使い下さい。