0

これは、ログインボックスの基本的な切り替えのためにモジュールに含まれているものです。

   Drupal.logintoboggan_toggleboggan = function() {
  $("#toboggan-login-link").click(
    function () {
      $("#toboggan-login").slideToggle("fast");
      this.blur();
      return false;
    }
  );
};

これは、モジュール内で必要なもののために私が持っているものです。モジュール自体を変更せずに、外部に移動したいだけです。

Drupal.logintoboggan_toggleboggan = function() {
  $("#toboggan-login-link").click(
    function () {
      $("#toboggan-login").slideToggle("slow", function() {
         if($(this).css('display') == 'block'){
                 $("#art-main").append('<div class="outer-login"></div>');
                     $(".outer-login").click( function () {
                          $("#toboggan-login").slideToggle("fast");
                          $(this).remove();
                     });
      } else{
          $(".outer-login").remove();
      }
      });


      this.blur();
      return false;
    }
  ); 

unsetを使用してloggintoboggan.jsファイルを削除しようとしましたが、jquery更新モジュールがインストールされていて機能していません。

4

1 に答える 1

1

モジュールよりも重みのあるカスタム モジュールを作成しloggintobogganます。このモジュールは、関心のある JS 関数を上書きする JS ファイルを追加します。重要なのは、JS ファイルloggintobogganをロードするように変更した後に、カスタム JS ファイルが確実にロードされるようにすることです。

これは、.installファイルがどのように見えるかです。モジュールが後で呼び出されることを確認しますloggintoboggan

/**
* Implementation of hook_enable
* @file your_module_name.install
* @see http://drupal.org/node/110238 (http://drupal.org/node/110238)
*/
function your_module_name_enable {
    // Find out the weight of the logintoboggan module
    $weight = db_result(db_query("SELECT weight FROM {system} WHERE name = '[logintoboggan]'"));

    // Set our module to a weight 1 higher
    db_query("UPDATE {system} SET weight = %d WHERE name = '[your_module_name]'", $weight + 1);
}

ファイル.moduleは非常に単純で、JS ファイルを追加するだけです。

/**
* @file your_module_name.module
* @see http://api.drupal.org/api/drupal/developer%21hooks%21core.php/function/hook_init/6
*/
function your_module_name_init() {
    drupal_add_js(drupal_get_path('module', 'your_module_name') . '/your_module_name.js');
}

.jsファイルに、上書きされた関数を必ず追加してください。私はJSの第一人者ではありませんが、これらの線に沿っている必要があります.

// Make a backup, maybe we'll need the original implementation
var orig_logintoboggan_toggleboggan = Drupal.logintoboggan_toggleboggan;

// Overwrite the function
Drupal.logintoboggan_toggleboggan = function() {
  // ... new implementation ...
};

したがって、カスタム モジュールには次の構造が必要です。

cd your_module_name/
.. your_module_name.install
.. your_module_name.module
.. your_module_name.js

Drupal キャッシュとブラウザー キャッシュをクリアして、すべての JS ファイルが正しく読み込まれるようにします。

于 2013-03-06T23:20:45.493 に答える