2012-01-13 12 views
0

スライダを開始する必要があるモジュールを構築しています。これに似た何か:複数のJavascript宣言をJoomlaモジュールに同じページに追加する

jQuery('#slider').anythingSlider(); 

私がいる限り、私は唯一のページで一つのモジュールを持っているようにそれを行うことができますが、私は、ページに複数のモジュールを追加した場合、それが唯一の最後のスクリプト宣言を追加します。私がこれを複数回調整する必要がある理由は、同じページに複数のスライダを持ち、それぞれに独自のオプションがあります(多くのオプションがあります)。

私はscriptDeclarationを試しましたが、スクリプトをエコーし​​てエコーされるかどうか試してみました。

私はJoomla 1.7.3でビルドしています。これは私がこの問題を抱えた初めてのことではありませんが、これを正しく動作させることが絶対に必要です。

ありがとうございます!

答えて

1

あなたができるものの数があります。

1)今

jQuery('.slider').anythingSlider(); 

あなたのスライダーを初期化するためにクラス宣言を使用し、「スライダー」級を持つすべてのコンテナになりますプラグインによって処理されます。

2)あなたのHTMLコンテナには異なるIDを使用してください。

あなたのプラグインに必要な正確なHTMLマークアップは、わかりませんが、このようなものはうまくいくはずです。

あなたdefault.php(テンプレート)で:

<div id="module_<?php echo $module->id; ?>"> 
    // your html stuff 
</div> 

// now add the jquery 
<script type="text/javascript"> 
jQuery('#module_<?php echo $module->id; ?>').anythingSlider(); 
</script> 

それはあなたがワッハスライダーのための異なる構成を使用することができるようになるので、第二の選択肢は、良いだろう。お役に立てれば。

+0

私はすでにそれのように設定しています。問題は、Joomlaは1つのスクリプト宣言のみを出力することです。だから私は1つのページ上に30個のモジュールを異なるIDやクラスで持つことができましたが、Joomlaはロードする最後のモジュール(またはIDが最も高いもの)を開始するだけです。だから私は1つのスライダーのオプションを設定することができ、残りのオプションは設定できません。私はJoomlaに同じ型の各モジュールのスクリプト宣言を出力するように指示する方法を見つけようとしています(コンポーネントから関数にアクセスしなければならない場合でも)。 – john

+0

"Joomlaのみ出力1スクリプト宣言"を詳しく教えてください。私はあなたがそれによって何を意味するのかよく分かりません。 –

+0

モジュールをビルドするときには、javascript出力を持つPHP変数があります。私はJoomlaの関数 'addScriptDeclaration($ var)'を使って、javascriptをドキュメントの先頭に挿入します。それが私がスライダーを開始する方法です。これは各モジュールごとに行う必要がありますが、Joomlaはページに同じモジュールが30個入っていても、 'addScriptDeclaration($ var)'のうちの1つだけを出力します(それぞれのモジュールごとにそのコードを生成する必要がありますそのコードがモジュール自体の内部で作成されているにもかかわらず)。私は十分にそれを説明することを願って:)。助けてくれてありがとう! – john

関連する問題