Drupal 7でjqueryを動作させる方法-初心者向け


8

私はjqueryをdrupal 7で動作させる方法に関する多くのチュートリアルをオンラインで読んでいます。コードの行と例はたくさんありますが、どこにコードを配置するかがわかりません(おそらくほとんどの開発者にとって明らかです)。

だから、私がすることは

1)新しいカスタムブロックを作成します

2)drupal UIの向こう側に、コードを記述します

(function ($) {

  $(document).ready(function(){

    // jquery here

  });
})(jQuery);

3)ブロックを表示しましたが、jqueryがロードされていません。

私はこのコードをテンプレートファイル、テーマファイル、CSSファイル、情報ファイルに配置する必要があることを読んでいます。

上記のコードを適切に機能させるために、正確にどのファイルとどのパスに配置する必要があるのか​​がわかりません。

何かアドバイス?

どうもありがとう!

回答:


11

ここにいくつかのものがあります:

  1. あなたがUIを介してサイトにjavascriptとPHPを入力することを避けることができるなら、それはおそらくあなたが一線を引くトラブルを救うでしょう。代替手段がない場合は問題ありませんが、https//drupal.stackexchange.com/a/2512/10729(PHPではなくjsのほとんどを対象としていることに注意してください)ポイントはまだjsを表しています)。実施例のモジュールは、カスタム・ブロックを作成する例を有します。
  2. jsを添付するために、すべてのページで必要な場合は、テーマの情報ファイルに追加できます。ただし、一部の場所でのみ必要な場合は、drupal_add_js()を使用して、必要なページのみに配置することをお勧めします。jsビヘイビアーをフォームに添付するために、フォームアイテムで#attached属性を使用することもできます。
  3. $(document).ready()を使用すると、ページが読み込まれたときにJavaScriptが起動しますが、ページがAjax経由で更新された場合、JavaScriptは再び起動しないため、新しいマークアップはJavaScriptの影響を受けませんです。これらのケースを処理するには、ドキュメントの準備ができているのではなく、Drupal ビヘイビアーを使用する必要があります。

例えば:

(function ($) {
  Drupal.behaviors.yourBehaviorName = {
    attach: function (context, settings) {
      // Do your thing here.
    }
  };
})(jQuery);

次のページを読むことをお勧めします:
Drupal 7でのJavaScriptの管理
JavaScriptとjQueryの操作


7

あなたでの.jsこのコードのように挿入します。

(function ($) {  

  Drupal.behaviors.themename = {

    attach: function (context, settings) {            

     // All our js code here
     alert('Hello jQuery');
     // end our js code

   }

 };})(jQuery);

あなたのテーマのtemplate.phpでhook_preprocess_htmlを作成し、次にdrupal_add_jsを使用してください

function themename_preprocess_html(&$variables) {
  drupal_add_js(drupal_get_path('theme', 'themename') . '/js/your.js', array( 
    'scope' => 'footer', 
    'weight' => '15' 
  ));
}

テーマ名を変更するだけ


1
これはすべてのページにJavaScriptを追加することに注意してください。これは望ましい場合と望ましくない場合があります。
rooby 2013年

1
そうそう、これはすべてのページにJavaScriptを追加します。@apdrで試してみて、彼の知識でテストしてください
sibiru

2
テーマを介してすべてのページにjsをロードしたい場合は、テーマの.infoファイルにファイルをリストするだけでは意味がありませんか?
ジマジャンマ2013年

3

.jsファイルは次のようになります。

(function ($) {
    Drupal.behaviors.cdgi = {
        attach: function(context) {

        //your code

        }
    }
}(jQuery));

モジュールでdrupal_add_js()を使用して、このファイルをDrupalに追加します。ここここで良い参考文献。

キャッシュを頻繁にクリアする;)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.