目的別Drupalモジュール

fugafuga たくさんあるDrupalのモジュールを目的別に紹介するページです。ちょっとカテゴリ分けが微妙かも。スレに出てきたモジュールはもちろん、便利なモジュールを見つけたら追加していってください。

ブログサイト運営

Drupalをブログシステムとして運営するときに便利なモジュールを紹介します。

エイリアス(URL)を自動でブログっぽくしたい

Pathautoモジュールを使ってみるがよろし。blogを日付とユーザー名でアクセスできるとかできるぞ。

時分まで表示したければ http://drupal.org/node/323441 のパッチを試してみましょう。

投稿時に多階層カテゴリを選択しやすくする

Hierarchical Selectモジュールを使えば、多階層のカテゴリ(taxonomy)を動的に絞り込めるようになります。

taxonomyの追加を投稿画面からするには?

6.xだと設定で「タグ」(5.xだと「フリータギング」)にチェック入れれば投稿時にカンマ区切りで追加できるようになります(ただし既存のtaxonomyも選択ではなく入力する必要がある)。

Taxonomy Otherモジュールを使えば選択もできて追加もできるようになります。

ブログパーツを提供したい

Embed widgetsモジュールをどうぞ。ページ、ブロック、Viewsをウィジェットとして提供できるようになります。iframeのwidgetがブログパーツみたいに使えます。

コミュニティサイト運営

hogehoge コミュニティサイトというか、ユーザ同士のつながりやコンテンツを提供しあうようなサイトで便利なモジュールを紹介します。

新しく投稿されたときにメールでお知らせ

Subscription系(SubscriptionモジュールComment_Subscribeモジュール)とNotify系(NotifyモジュールComment Notifyモジュール)があります。Subscription系の方が大きなフレームワークで、Notify系の方が少しシンプルな気がします。

新着情報をメール送信するモジュールは乱立しており、複数の選択肢があります(http://drupal.org/node/206728 )。いくつかインストールしてみて、自分の希望する使い方ができるか試した方がいいかもしれません。乱立するモジュールの機能比較が http://groups.drupal.org/node/15928 にあります。

匿名ユーザでも更新情報をメールで受け取れるようにしたい

http://groups.drupal.org/node/15928 の表のうち、AnonymousがYesなものを選べばいいはずです。Watcherモジュールは、特定のノードが更新されたときやコメントが追加されたときにメールでお知らせしてくれるモジュールで、匿名ユーザでも使えます。ユーザの権限ページで匿名ユーザにもチェックを入れることを忘れずに。

特定コンテンツタイプの新規投稿をニュースレターのように送信するにはSimplenewsモジュールがいいようです(匿名ユーザでも使用可)。

設定した条件に一致したノードが投稿されたときに通知

Drupal 5.xならWorkflow-ngモジュール、6.xならRulesモジュールをどうぞ。

特定のユーザ専用のフォーラムを作りたい

Forum Accessモジュールがあります。

ユーザ登録時に利用規約をチェックさせたい

LegalモジュールとかTerms of Useモジュールをどうぞ。詳しくは http://drupal.org/node/112519 を参照してください。

フォーラムよりシンプルな掲示板がほしい

シンプルでいいならGuestbookモジュールがあります。サイト全体のゲストブックと、ユーザごとのゲストブックを作ることができます。Spamモジュールとの連携機能はあるようですが、デフォルトでは投稿内容を確認(プレビュー)する機能はありません。

このモジュールは、モジュール開発の叩き台にお勧めされるほど構造もシンプルだそうです。モジュール開発に必要なメニュー・フォーム・フック・テーマが一通り網羅されているので、モジュール開発の参考になるでしょう。

ユーザのコンタクトフォームを匿名ユーザでも使えるようにしたい

ContactモジュールAnonymous Contact formモジュールをどうぞ。Contactモジュールの方は、コアのcontactを置き換えて、サイト全体のコンタクトフォームを設定できるようにしたり、ユーザのコンタクトフォームを使用する権限を追加してくれます。

コンタクトフォームはユーザにメールを送るものなので、公開サイトで匿名ユーザに許可する場合は、スパム対策も考えた方がいいと思います。

画像とか動画とか

画像や動画のアップロード、ノードへの貼り付け、画像の管理に便利なモジュールを紹介します。

画像を貼り付けるには?

画像は標準のuploadモジュールでアップできます。で、アップした画像は、Inlineモジュールを使って参照すると便利。

また、FCKeditorの機能を使ってもアップ、貼り付けができる。Image+Img_assistの定番組み合わせはクセがあり使い勝手は悪いが、サムネイルが自動で作られ、Lightbox2とのインテグレーションができるので便利。

IMCEモジュールを使うこともできます。このモジュールもFCKeditorやTinyMCEと連携できます。実際の動作例はimceデモページをどうぞ。http://www.webgogo.jp/drupal/modules/imce_6 にも詳しい説明があります。

ユーザが自由にアップできるオンラインアルバムを作るには?

Imageモジュールを使う:画像を独立したコンテンツとして扱う機能を提供する。さらに簡易画像ギャラリーシステムが導入される。権限設定によっては、登録ユーザーや匿名ユーザーが画像を自由にアップロードしたりできる。ただし機能は控えめ。

Galleryモジュールを使う:PHP/MySQLで動作する高機能画像アルバムシステムGallery2と連携する機能を提供。現在Gallary2の正式版はVersion 2.2.4だが、このモジュールを使うには、次期バージョンβの2.3-Nightly-Buildが必要なことに留意。

Gallery2とアグリゲータで緩い連携をさせる:Gallery2はRSSフィードを提供できるので、DrupalのアグリゲータでそのRSSを定期的に取り込み(cronを動作させる)、ブロックエリアにGallery2に投稿された画像へのリンクを表示する。

同じ名前のファイルはリネームせずに上書きにしたい

Upload File Replaceモジュール(filefield CCK用)をどうぞ。

ドキュメント管理

DrupalをWikiみたいにドキュメント管理システムとして使うときに便利なモジュールを紹介します。

変更履歴(Diff)を表示したい

Diffモジュールをどうぞ。ノードに「リビジョン」タブが追加され、リビジョン間の差分表示や前のバージョンに戻す操作ができるようになります。なお、ノードのリビジョンを更新するには「新しいリビジョンを作成」にチェックを入れておく必要があります。

ドキュメントを下書きとして保存したい

Draftモジュールをどうぞ。もっと簡易的な下書き機能でよければ、ノードの「掲載」オプションで実現できます。

一般ユーザに「掲載」or「フロントページに掲載」オプションを与える

デフォルトでは、一般ユーザ(authenticated user)はノードの「掲載」オプションや「フロントページに掲載」オプションを変更できません。権限の管理から「ノードの管理」権限を与えれば変更できるようになりますが、そうすると掲載オプション以外の情報もいじれるようになってしまいます。

Override Node Optionsモジュールを使えば、一般ユーザにノードの管理権限を与えずに掲載オプションだけを許可することができるようになります。

リッチテキストエディタ(WYSIWYGエディタ)を使いたい

TinyMCEとかFCKEditorとかYUI Rich Text Editorとかあるけど、WYSIWYGエディタは乱立しすぎみたいです。http://drupal.org/node/208456 にWYSIWYGエディタの比較表があります。

wiki記法を使いたい

Drupalでは「フィルター」という仕組みで色々な入力書式をサポートしています。PEAR Wiki Filterは、MediaWikiやDokuWikiやCreoleといったwiki記法をサポートしています。また、BbcodeモジュールではBBCodeの入力ができるようになります。http://drupalmodules.com/search/node/Wiki+category%3A24http://drupal-jbox.net/?q=node/51 も参考にしてください。

PukiWikiのフィルタはまだないようです。誰か日本人が作らないと出てこないでしょう。フィルターはわりと作りやすいモジュールなので、興味のある人は作って公開してください!(PukiWikiのパーサーが本体と分離されてなくて移植しにくいという問題はありますが…)

コンテンツタイプごとにフィルタを変えたい

Filter by node typeモジュールをどうぞ。

投稿した本人しか見れないノードを作りたい

Privateモジュールを使うと投稿した本人しか見れないノードが作れます。

ページにロールごとのアクセス権を設定したい

Node Access Control(5.xのみ)、Nodeaccess, Content Access, node privacy byrole, Node Accessと似たようなモジュールがたくさんあります。いくつか使ってみて自分に合うものを選びましょう。

Content Accessはシンプルで、各コンテンツのページに"Access Control"というタブが付いてそこから設定できるようになるそうです。

エイリアスを付けた別のノードにIDでリンクするには?

Path Filterモジュールを使えば"internal:node/23"とかで指定できるようになります。あとはdrupal_get_path_alias("node/1")で取るとか。

7.xでは[internal:node/123]という書き方ができるフィルタが追加されます。

ノードの内容を別のノードに表示したい

InsertNodeモジュールをどうぞ。他のタグがうまく展開されない場合は入力書式の再編成を試してみましょう。

コンテンツ作成時にデフォルトの定型文を挿入したい

DefaultTextForNodeモジュールをどうぞ。コンテンツタイプごとに本文のデフォルトテキストを指定できます。他の方法はコンテンツの新規作成時にテンプレートを挿入したいを参考にしてください。

ユーザ管理

Drupalのユーザ管理に関するモジュールを紹介します。

ユーザのメールアドレス変更を確認必須にする

デフォルトではログイン済みのユーザは自分のメールアドレスを自由に変更できてしまいますが、これは運営上大変危険です(他人のメールアドレスを登録できてしまう)。Email Change Confirmationモジュールを使って、メールアドレス変更時にユーザがそのアドレスで受信できるかを確認するようにしましょう。なお、この機能はDrupal 7ではコアに取り込まれるようです(http://drupal.org/node/85494 )。

ユーザ名に全角文字を使わせないようにする

Drupalでは全角文字のユーザ名もサポートされているので、たとえば「ユーザー名といいます」とか「全角です」といったユーザも作成できてしまいます(http://drupal.jp/node/385 )。Drupalのシステム的には問題ないのですが、管理ユーザは半角にしている人が多いようです。

ユーザ名をasciiのみに制限したいなら、自分で制限するコードを書く必要があります。またはCustom username validationモジュールを導入して"/^[0-9a-zA-Z]+$/"のような制限を入れる必要があります。

また、Alternate Loginモジュールを使うと別名IDでログインすることができるそうです。

ユーザのプロフィールの特定項目を変更できないようにしたい

User Read-Onlyモジュールをどうぞ。

新規登録通知を管理者一人じゃなくて権限を持った複数ユーザに送りたい

Advanced Userモジュールをどうぞ。ユーザのフィルタリングが便利になるほか、アカウント登録を承認制にしている場合などの登録通知を、管理者権限を持った複数のユーザに送れるようになります。

続きを読むにはログインさせたい

Premiumモジュールをどうぞ。

「パスワードの再発行」のリンクを表示させたくない

No request new passwordモジュールをどうぞ。

テーマとかデザインとか

ノードごとにCSSを適用したい

Node styleモジュールでできます。

taxonomyごとにテーマを変えたい

Taxonomy Themeモジュールをどうぞ。Drupal 6.xの人はThemeKeyモジュールをお試しください。

コンテンツタイプごとにTeaserの長さを変えたい

Teaser by Content Typeモジュールをどうぞ。Teaserだけでなく全文表示もできるので、特定のコンテンツタイプだけ全文を表示させることもできるようになります。

Borderを角丸にしたい

Drupal 5.x用にはRounded cornersモジュールcurvyCornersモジュールが、6.x用にはjQuery Eye Candyモジュールがあるようです。

でも自分でテーマをいじった方が軽くてよさそうです。

ページにちょっとしたCSSを追加したい

CSS Injectorモジュールをどうぞ。ページに追加したいCSSコードのルールを登録できます。CSSのルールは全ページを対象にしたり、特定のパターンだけを対象にしたりできます。使い方はデモのビデオをどうぞ。

ページにちょっとしたJavaScriptを追加したい

JS Injectorモジュールをどうぞ。CSS Injectorモジュールと同じような感じでJavaScriptコードを追加できるようになります。

ページタイトルの" | "を変更したい

$head_title で調べてテーマをハックするか、Page Titleモジュールをどうぞ。トップページやコンテンツタイプごとの指定ができるうえに、特定のノードだけを上書きできるようになるそうです。

ノードの編集フォームからタイトルを消したい

Automatic Nodetitlesモジュールをどうぞ。コンテンツタイプの「タイトル自動作成」で「タイトルフィールドを非表示にする」を選択してください。

SEO対策

XML Sitemapを作りたい

XML Sitemapモジュールをどうぞ。sitemaps.orgに準拠した、GoogleウェブマスターツールやYahoo!サイトエクスプローラーで使えるXMLサイトマップが出力されるようになります。

別名URL(エイリアス)を付けたノードはリダイレクトしたい

Global Redirectモジュールを使えば、node/*でアクセスされた場合でもエイリアスの方に301リダイレクトしてくれます。

ページごとにMETAタグのkeywordやdescriptionを指定したい

Meta tagsモジュールをどうぞ。

システム

Drupalで使うSMTPサーバを変更したい

SMTPモジュールをどうぞ。

統計モジュールのログから自分の記録を除きたい

Statistics filteringモジュールはいかが?管理者のアクセスや指定したロールのユーザのアクセスをログに記録しないようにできます。設定画面が少し見つけにくいですが、「アクセスログの設定」を開くとメニュー(admin/reports/settings/statistics-filter)が出てきます。

この機能は7.xではコアに組み込まれるかもしれません(http://drupal.org/node/696 )。

特定のページ(パス)をアクセス制限したい

Path Accessモジュールをどうぞ。特定のパスを特定のロールでアクセス制限することができます。制限するパスには"*"とか"blog/*"といった指定も可能です。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2015年09月15日 00:40