答える前に、Drupalがモジュールを見つける方法について少し背景を理解しておくと役立ちます。Drupalは、Drupalルートからの提案のリストを使用して、モジュールの場所を見つけます。優先度順:
sites/$SITENAME/modules
sites/all/modules
profiles/$INSTALLPROFILE/modules
modules
Drupalが(1)でモジュールを見つけられない場合、(2)をチェックします。存在しない場合は、(3)などをチェックします。
(1)について$SITENAME
は、Drupalの基本的な単一サイトインストールのみを使用している場合はですdefault
。さもないと:
- Drupal 6では
$SITENAME
、サイトのホスト名です。あなたのサイトがにある場合example.com
、に$SITENAME
なりますexample.com
。
- Drupal 7では、
$SITENAME
で定義されていsites/sites.php
ます。を見るとexample.sites.php
、それを定義する方法がわかります。また、そこにリストされているモジュールはすべてのサイトではなく、その特定のサイトでのみ使用できることに注意することも重要です。
(2) 、任意のモジュールは、Drupalのインストールで任意のサイトで使用できるがありますが見つかりました。また、コアインストールをアップグレードするときにも変更されません。もちろん、これはモジュールを置くための推奨される場所であり、おそらくあなたが読んだすべてのドキュメントがあなたのモジュールをここに置くようにあなたに言ったでしょう。
(3)はインストールプロファイルに使用されます、特定のモジュールを必要とする。基本的に、インストールプロファイルは、Drupalサイトのカスタム初期状態を定義する方法です。たとえば、Drupalには2つのインストールプロファイルが組み込まれています。標準には、最も使用される機能が含まれ、最小には、Drupalサイトが機能するために最低限必要なもののみが含まれます。
(4)はDrupalコアによって使用されます。ここにモジュールを技術的に追加することができ、それらはすべてのサイトで利用可能になりますが、そうすべきではありません。真剣に。このmodules
フォルダーは、Drupalコアが更新されたときに変更され、サイトで機能するために必要なモジュールを貼り付けると、問題が発生します。
背景が邪魔にならないので、ファイルシステムのトリックを使用して、Drupalが見える場所の外にモジュールを格納することができます。
たとえば、あなたが設定することができ、シンボリックリンクをからsites/all/modules
Drupalのインストールの別のディレクトリの外に:
- Unix / Linux / BSDベースのシステムの場合:
ln -s /path/to/modules/folder /path/to/drupal/sites/all/modules
- Windows Vista / Server 2008/7以降の場合:
mklink C:\path\to\drupal\sites\all\modules C:\path\to\custom\modules\folder
私が知っている限りでは、mklinkを持たない以前のバージョンのWindowsでできることはあまりありません。