web-dev-qa-db-ja.com

外部のphpスクリプトと他のいくつかのファイルを含むインストールモジュール

pDFモデリング機能をいくつか備えたモジュールを開発したいと思います。使用したい外部スクリプトといくつかのJavaScriptがあります。 drupalインストールルーチンからモジュールを動作させるための最良の解決策は何ですか?.

1.)外部スクリプトをdrupalライブラリ...に追加して、モジュールがアンインストールされたら削除する必要がありますか?)2.)インストールを開始するために、いくつかの優れたチュートリアルを推奨できますか?スクリプト?

ヒントは大歓迎です...

ありがとう

2
Jurudocs

Libraries モジュールを使用する必要があります。これにより、外部ライブラリおよびスクリプトとの統合が可能になります。
これは、ライブラリを追加し、Drupalでサードパーティのスクリプトを使用する正しい方法です。このようにして、複数のモジュールが同じライブラリと同じソースを使用できます。これは、メンテナンスと組織の観点からより優れています。

hook_libraries_info() を使用してカスタムモジュールで依存関係を定義し、必要に応じて libraries_load() `でライブラリを含めることができます。

例として、 Colorbox を見て、フックがどのように実装されているかを確認してください。

Print モジュールも確認してください。

特定のケースでは、PDFの生成におそらく [〜#〜] tcpdf [〜#〜] を使用するので、次のようにライブラリの依存関係を定義する必要があります。

_/**
 * Implements hook_libraries_info().
 */
function YOUR_MODULE_libraries_info() {
  $libraries['tcpdf'] = array(
    'name' => 'TCPDF',
    'vendor' => 'http://www.tcpdf.org/',
    'download url' => 'http://sourceforge.net/projects/tcpdf/files/',
    'version callback' => 'YOUR_MODULE_tcpdf_version',
    'files' => array(
      'php' => array(
        'tcpdf.php',
      ),
    ),
  );

  return $libraries;
}
_

そして、必要に応じて、libraries_load()を呼び出します。

_libraries_load('tcpdf');
_

最後に-モジュールの_.info_ファイルにライブラリの依存関係を追加することを忘れないでください。

3
Aram Boyajyan

モジュールにデータベースの更新または追加がある場合、インストールルーチンが多く使用されます。モジュールのインストールには通常3つの機能があります

  1. hook_install functionは、モジュールのインストール時に任意の機能を実行するために使用されます。これは、作成するテーブルにコンテンツを追加するのに適した場所です。
  2. hook_uninstall これは、インストールプロセス中にデータベースに加えた変更を元に戻し、必要に応じて、モジュールによって作成されたテーブルからコンテンツを削除するために使用されます。
  3. hook_schema この関数は、モジュールを機能させるために、テーブルを作成するか、既存のテーブルに変更を加えるために使用されます。

JavaScriptファイルやその他のcssファイルの追加は、.infoファイルで行うか、モジュールで drupal_add_js および drupal_add_css 関数を使用して行う必要があります。

すべての新しいモジュール開発者がモジュールの作成とdrupal internals- Example Module

Drupalに外部コードを追加する場合は、他のライブラリをdrupalに追加できるようにする libraries モジュールを確認する必要があります。 =そしてそれをdrupalでうまくプレイさせる

1