it-swarm.com.de

Ändern der Reihenfolge von Javascript beim Laden

Ich habe meine eigene Vorlage geschrieben und einige Teile des Inhalts lauten wie folgt:

<?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" /> 

Für eine bestimmte Datei muss ich zwei Javascript-Dateien laden, die jQuery benötigen.

$document = JFactory::getDocument();
$document->addScript('js/jquery.uitablefilter.js');
$document->addScript('js/filterTable.js');

Obwohl sie vor jQuery geladen werden. Es gibt viele Fragen zu diesem Problem und viele Antworten, aber es werden immer noch Javascripts vor jQuery geladen.

Ich weiß nicht, was der Grund ist und wie ich es überwinden soll.

2
zkanoca

Sie müssen die Frameworks und Ihre eigenen JavaScript-Dateien in der richtigen Reihenfolge in Ihren Erweiterungen (vor) laden. Die Vorlage ist zu spät und standardmäßig wird nichts geladen.

Beispiel für die tmpl-Datei eines Moduls:

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!\');
    });
');
1
schnuti

Haben Sie darüber nachgedacht, Folgendes zu versuchen?

<jdoc:include type="head" />
<script src="js/jquery.uitablefilter.js" />
<script src="js/filterTable.js" />
0
Lodder