Drupal7モジュール、マイミニマルリスト

このブログのDrupal記事を参考にしている、という嬉しいお言葉をいただくことがあるのですが、古い記事も多く、どこまでお役にたてているのか、どうも心もとないです。

で、自分の場合、どんなサイトでも最低限インストールするモジュールの最新リストをご紹介してみたいと思います。

Views

Drupal8からコアに含まれることになるコンテンツの一覧出力を行うモジュールです。Drupal7サイトでもViewsを使わないサイトはまず無いと思います。なので、ここでは詳細は割愛します。

Display Suite(DS)

Display SuiteDisplay Suiteの拡張で既に詳しく書いている、コンテンツの個別出力を管理画面上で設定するモジュールです。

  • 個別コンテンツの出力テンプレート、node.tpl.phpをオーバーライドせずにDSで細かくフィールド毎に出力を設定する
  • 入力フィールドを設定せずに出力だけのフィールドを追加する(Custom Field)
  • コンテンツの中身をグループ分けして出力する
  • フィールドのテンプレートをDrupalのデフォルト状態から最小限のマークアップや他のマークアップに変更したり、クラス属性を設定する
  • デフォルトとティーザーの他、全文やRSS。検索結果等の出力をオーバーライドする(View Mode)
  • Drupalデフォルトのリージョンやブロックを無効化し、DSでリージョンやブロックを設定する

といった実に多様な機能があります。自分としてもまだまだ完全には使いこなせていない奥の深いモジュールです。

例えば、カスタムフィールドを追加してFacebookの「いいね!」ボタンをフィールドとして持たせることもできます。PHPも使えるので、出力ページのuriを、FacebookのLike Button Pluginのhref属性にします。

いいね!ボタンのカスタムフィールド

<?php
global $base_root;
$current_url = $base_root . request_uri();
print '<div id="fb">
<div class="fb-like" data-href="'.$current_url.'" data-send="false" data-layout="button_count" data-width="200" data-show-faces="false"></div>
</div>';
 ?>

Javascript SDK部分はhtml.tpl.phpに組み込んでおきます。これで好きな場所に「いいね!」ボタンが表示できます。

Views、DSにはAPIとしてChaos Tool Suite(CTools)モジュールが必要です。

ThemeKey

条件を設定して出力テーマを変更するモジュールです。ユーザーエージェント、コンテンツタイプ、タクソノミーターム(コンテンツ分類)、ユーザー権限等、様々な条件に対して出力テーマを設定できます。

レスポンシブデザインにせずに、ユーザーエージェントでモバイル出力を設定したり、IE8等のレガシーブラウザ対策に利用したり、特定のコンテンツに対してのみレイアウトを全く別のものに変更したりできます。

例えば、この金閣寺のコンテンツはThemeKeyモジュールでヘッダーもサイドバーもないレイアウトにしています。季節や時間でテーマを自動的に変える、というのも面白いかもしれません。

Backup and Migrate

データベースをDrupal上でバックアップします。マニュアルでローカルにダウンロードする他、スケジュールを設定してサーバー上で定期的にバックアップしておくことができます。バックアップするテーブルの設定も色々変更できますが、キャッシュデータ等を対象外にしているデフォルトの設定のままでいいと思います。

但しデータベースのレストアについては、自分はこのモジュール上では行っていません。

Multiupload Filefield / Multiupload Imagefield Widget

複数ファイルを一括アップロードできるようにしてくれるモジュールです。→詳細

Colorbox

画像を拡大表示する際にモーダルウィンドウ表示します。同様のモジュールにLightbox2があります。

Module Filter

たくさんモジュールをインストールするとモジュールの管理画面がかなり見難くなります。このモジュールでグループ別にバーティカルタブにまとめられ、簡単に検索できるようになります。簡易なモジュールですが、とても重宝するモジュールです。

CKEditor

本文のフィールドや「長い文章」フィールドに対してリッチテキストエディタを有効化するモジュールです。以前はWysiwygモジュールをインストールし、エディタ(概ねTinyMCE)を別途ライブラリとして組み込む方法をよく使っていましたが、今はこのCKEditorモジュールだけでOKです。

リッチテキストエディタに組み込むボタンはできるだけ少なくしておいた方が使いやすいと思います。

Open Graph meta tags

FacebookにDrupalサイトのコンテンツをフィード(シェア)した時のサムネイル画像等、内容を指定することができるようになります。html.tpl.phpにOGPのmetaタグを書いてもいいですが、このモジュールだとサムネイル画像も簡単に変更できます。

Mollom

Drupalのファウンダー、Dries BuytaertによるアンチSPAMモジュールです。コメントフォーム、問合せフォーム、ユーザー登録フォーム等に対し、履歴のない投稿者の場合、画像による認証が求められるようになります。

レポートも提供され、かなり強力にSPAMをブロックしてくれているのが一目でわかります。特にコミュニティ的要素を持つサイトの場合、これがないとボコボコに(SPAM満載のサイトに)されてしまいます。

Webform

お問合せフォーム作成モジュールです。ウェブフォームもひとつのコンテンツタイプとして扱われます。入力項目のタイプ(テキスト、プルダウンリスト、チェックボックス等)、問合せの内容のメール送信設定、問合せ内容の管理等、ウェブフォームとして必要な機能はほぼ全て揃っていますが、サーバー自体のSSL対応の上で使用したいものです。

jQuery Update

Drupalの現行バージョン7.26の場合、jQueryは1.4.4になっています。これだと動かないjQueryのプラグインが多数でてきてしまいます。特に1.7以上がないと、jQueryを多用したイマドキ風のユーザーインターフェースやアクションが機能しない場合が多いです。

html.tpl.phpあるいはinfoファイルに新しいバージョンを読み込むように設定することでもOKですが、手っ取り早くこのモジュールで組み込むことができます。現状では1.5、1.7、1.8が選択できるようになっています。コンフリクトが少ないのは1.7かと思います。

こんなところかな。