2012-01-19 5 views
3

Magentoストアで実行したいjQueryに小さなスライダースクリプトを書きました。私はこのスクリプトを私のview.phtmlに含めましたが、うまくいかないようです。私は間違って何をしていますか?私はMagentoにとっては新しく、カスタムスクリプトを追加する方法も知らない。MagentoのjQuery

<script type="text/javascript">// < ![CDATA[ 
     jQuery(document).ready(function(){ 
     var active = 0; // starts at zero 
     var list = jQuery('ul'); 

     list.children('li').eq('0').siblings().hide(); // Hide all except first list element 

     jQuery('.next').bind('click', function() { 
      active = active == list.children('li').length-1 ? 0 : active + 1; 
     }); 

     jQuery('.prev').bind('click', function() { 
      active = active == 0 ? list.children('li').length-1 : active - 1; 
     }); 

     var getActive = function() { 
      return list.children('li').eq(active); 
     }; 

     jQuery('.prev,.next').bind('click', function() { 
      getActive().fadeIn().siblings().hide(); 
     }); 

});// ]]></script> 

そしてここview.phtmlの私のHTMLです:最初

<ul> 
    <li>img1</li> 
    <li>img1</li> 
    <li>img1</li> 
</ul> 

答えて

9

まず物事:Magentoのは、jQueryのを使用していません。

Magentoのは、PrototypeJsを使用し、いずれかのPrototypeJsにあなたのjQueryを変換するか、あなたは彼らの両方がシームレスに実行するようnoConflictメソッドを使用し、jQueryのをロードする必要があります。

は、ページ内のjQueryをロードするには、どちらかあなたはすべてのページにそれをロードするために .xmlテンプレートを使用するか、またはそれは、この特定のページにのみだ場合、あなたは、単にたとえば、スクリプトの前にそれを読み込むことができます:

<script src="http://code.jquery.com/jquery-1.7.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
// <![CDATA[ 
    // noConflict so we can use both libraries 
    $.noConflict();  

    // your current code here 

//]]> 
</script> 

デザインテンプレートですべてのページにロードする場合は、here is a suggestionです。

+0

Thanx!私はMagento用のjQuery Extensionを追加したので、jQueryを使用しました。私はプロトタイプを使ったことがありません。このコードをprototype.jsに変換する簡単な方法はありますか? – Ismailp

+0

いいえ、私もプロトタイプに精通していません。基本的なものだけです... Magento Forumsを使ってその拡張機能について質問したり、その拡張機能に関するヘルプを検索したりしています。それでも完全に削除して、サンプルコードを適用して、すべてのページのjQueryを手動でロードするために提供されたリンクを読んでください。 – balexandre

+1

okey!高すぎる、私は変換しようとします...それほど難しいはずはありません:) – Ismailp