$doc->addScript
テンプレート ファイルの先頭に使用してスクリプト (およびjquery
) を先頭に追加しますが、コンポーネントはその前にスクリプトを追加します。
この出力キューを制御できますか?
これは Joomla 3.3.x 用に書いています
残念ながら、これはコアファイルをハッキングする (やらないでください!!) か、javascript を追加するための独自の実装を使用しないと実行できません。
[joomlaroot]\libraries\joomla\document\document.php -> 関数 addScript が定義されている 446 行目を調べると、JDocument の _scripts-Array が assoc であることがわかります。キーがスクリプトへの URL である配列。
スクリプトとシステムにインストールされているすべての拡張機能を追加する joomla メソッドを書き換えたくない場合は、テンプレートの < jdoc:include type="head" > の後に JavaScript を追加する必要があります。
イベント「onBeforeCompileHead 」を使用してドキュメント スクリプトを並べ替えるsystem-plugin を作成することもできますが、それでは多すぎると思います。
joomlaがaddScript()でソート属性を単純に使用しない理由はわかりません。それが必要になるからです。また、スクリプトの依存関係を実現することもできます。Wordpressでもそれができます。
編集: あなたができることは、JDocument::addCustomTag()を使用して、joomla-scripts の後にスクリプトを追加することです。カスタムタグはすべてのスクリプトの後にレンダリングされるためです。これは、他のコンポーネントによって既に読み込まれているスクリプトの順序には影響しません。
index.php
テンプレートのファイルを変更する必要があります。以下には、Joomla の head セクションが含まれます。
<jdoc:include type="head"/>
$doc->addScript
この後 (または前) に移動して、最初にロードするものを設定します。ファイルは上から下に読み込まれるため、上にあるファイルが最初に読み込まれます。