質問

モジュール用の.infoファイルを書き、/sites/all/librariesにインストールされているスクリプトを含めたい:

だから私は私の.infoファイルに以下の行を含めました:

scripts[] = /sites/all/libraries/zeroclipboard-2.2.0/dist/ZeroClipboard.js
.

しかしながら、このパスの先頭のスラッシュの有無にかかわらず、常に同じ結果を得ています.Drupalはこれをモジュールディレクトリに対して相対的に扱い、ロードして読み取りに失敗します。

/sites/all/modules/custom/clipboard//sites/all/libraries/zeroclipboard-2.2.0/dist/ZeroClipboard.js?nsnrjh
.

だから私は自分の質問に答えたかもしれませんが、Drupal Docsでこれに対する決定的な答えを見つけることができませんか?

ありがとう、

mb

役に立ちましたか?

解決

_system_rebuild_module_data それ。確認するためだけにコードに全セクションがあります。

// Prefix stylesheets and scripts with module path.
$path = dirname($module->uri);
if (isset($module->info ['stylesheets'])) {
  $module->info ['stylesheets'] = _system_info_add_path($module->info ['stylesheets'], $path);
}
if (isset($module->info ['scripts'])) {
  $module->info ['scripts'] = _system_info_add_path($module->info ['scripts'], $path);
}
.

My 推測は、モジュール自体がインストールされていない場合、モジュールが存在するとは限らないとは思わない。それはエラーを導入する方法です。また、モジュールが自分のディレクトリの外側に到達できるようにすることも、セキュリティ違反です。

あなたがあなたのモジュールに含めることができないスクリプトが必要な場合は、ライブラリAPI を使用してください。もちろん他の方法がありますが、それらのほとんどは問題があり、すべての問題を修正することは、とにかくこの準備ができたモジュールのクローニングを非常に多くのものになるでしょう。

他のヒント

カスタムモジュールを作成している場合は、これらの関数を使用して、LiraryからライブラリーまたはJSファイルを追加できます。

$info = libraries_load('ui.tabs');
drupal_add_library('system', 'ui.tabs');
.

ライセンス: CC-BY-SA帰属
所属していません drupal.stackexchange
scroll top