2011-01-08 16 views
0

Drupal 6のテーマをDrupal 7にアップデートしています。Drupal 6のバージョンでは、JQueryをプライマリメニューに挿入してドロップダウン(+メニューツリーを取得するための前処理機能)として動作し、これはうまく機能しました。アップグレードされたテーマのDrupal 7のメインメニュー、JQuery&Superfishに関する問題

私のテーマのDrupal 7バージョンでは、私がDrupal 6で行ったように私のインフォメーションファイル内のJavaScriptを呼び出し、レンダリングされたページのソースを見て、メニュー自体に注入していません。私は以下のスクリプトと同様に、私はすべての力仕事があるんライン信じ

Drupal.behaviors.skyBehavior = function(context) { 
    /** 
    * Superfish Menus 
    * http://users.tpg.com.au/j_birch/plugins/superfish/ 
    * @see js/superfish.js 
    */ 
    jQuery('#navigation ul').superfish({ 
    animation: { opacity: 'show', height:'show' }, 
    easing: 'swing', 
    speed: 250, 
    autoArrows: false, 
    dropShadows: false /* Needed for IE */ 
    }); 
}; 

(再びDrupalの6に罰金働いていた)標準superfish.js呼び出す:jQuery('#navigation ul').superfish({ を(私の周りのdivのことに注意してくださいidは "#navigation"で、その後に<ul>タグが始まります。)

私のDrupal 7バージョンでは、メインメニューのメニューツリーを取得するために前処理機能を実行していますが、ツリー全体を見ることができますFirebugで見たが、私はJqueryの注入コードが見当たらないことがわかった。

私のDrupalの6テーマでは、私が見るであろう:

<ul class="menu sf-js-enabled" style="visibility: hidden; display: none;">を... - そしてもちろん変化「表示:なし」マウスオーバー「目に見える」に。

しかし、私のテーマのDrupalの7のバージョンでは、私はFirebugの中で見るすべては次のとおりです。 <ul class="menu"> ...

私には、JavaScriptについて多くを知らないので、私は、これは誰かと鐘を鳴らすかもしれません期待していますどのように修正を見つけるかについて。ありがとう。

答えて

1

Managing js in Drupal 7をご覧ください。アドバイスはクロージャを作成することですが、私はあなたのコードにどのように影響を与えるのか分かりません。

動作/ jsファイルが実行されているかどうかをテストするには、alert('message')などのコードを実行してテストできます。ここで

+0

それはトリックをした、私はそれを修正するコードを掲載します。どうもありがとうございます! –

+0

実際、私はまだイージング、スピード、アニメーションを追加する必要があり、その部分でまだ苦労しています。 –

0

ページのリンクに基づいてコードが@googletorpが送ってくれたということです。

(function ($) { 

    Drupal.behaviors.MyTheme = { 
    attach: function(context, settings) { 
     $('#navigation ul', context).superfish(function() { 

     }); 
    } 
    }; 

})(jQuery); 

ドロップダウンメニューは、現在のDrupal 7で働いているが、私はまだ緩和のためのコードを追加する方法を把握する必要があり、スピードとアニメーション...

-1

聖なる牛、

はjqueryのサイクルプラグインと同様の問題を解決するために2日間働きました。解決策はここにある:PHPコードに問題があるために

http://drupal.org/node/1043478#comment-4168166

縫い目。 < '>を<のように安全にする必要があります。

0

私は決して作業コードを掲載していないことに気付きました。ここで動作するDrupal 7のコードです:

(function ($) { 

Drupal.behaviors.MyTheme = { 

attach: function(context, settings) { 
$('#navigation ul', context).superfish({ 

animation: { opacity: 'show', height:'show' }, 
speed: 250, 
autoArrows: false, 
dropShadows: false /* Needed for IE */ 

}); 
}}; 

})(jQuery); 
関連する問題