独自のテンプレートを作成しましたが、コンテンツの一部は次のとおりです。
<?php
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');
// Add Stylesheets
JHtmlBootstrap::loadCss();
// Load optional rtl Bootstrap css and Bootstrap bugfixes
JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);
?>
<jdoc:include type="head" />
特定のファイルについて、jQueryを必要とする2つのjavascriptファイルをロードする必要があります。
$document = JFactory::getDocument();
$document->addScript('js/jquery.uitablefilter.js');
$document->addScript('js/filterTable.js');
ただし、jQueryの前に読み込まれます。この問題に関する多くの質問と多くの回答もありますが、それでもjQueryの前にJavaScriptがロードされます。
その理由が何なのか、どうすれば克服できるのかわかりません。
拡張機能では、フレームワークと独自のJavaScriptファイルを正しい順序で(事前に)ロードする必要があります。テンプレートが遅すぎるため、デフォルトでは何も読み込まれません。
モジュールのtmplファイルの例:
JHtml::_('bootstrap.framework'); // alternative only JQuery JHtml::_('jquery.framework');
JHtml::script('mod_yourmodule/yourmodule.js', false, true, false, false, false);
$document = JFactory::getDocument();
$document->addScriptDeclaration('
jQuery( document ).ready(function(){
alert(\'I am an alert box!\');
});
');
あなたは以下を試すことを考えましたか?
<jdoc:include type="head" />
<script src="js/jquery.uitablefilter.js" />
<script src="js/filterTable.js" />