Kategorie: CMS Core und Extensions

Unbenötigte JavaScripts aus dem <head> einer Joomla Seite zu entfernen ist relativ simpel.

Am einfachsten funktioniert es mit einem Skript in der index.php des Plugins:

<?php 
$doc = JFactory::getDocument();
unset($this->_scripts['/media/system/js/mootools-core.js']); 
$doc->addScript($this->baseurl . '/templates/' . $this->template . '/js/jquery.min.js')
?> 

Mit "unset" wird das MooTools-Plugin deaktiviert und mittels "$doc->addScript" wird jQuery hinzugefügt

 

Alternativ kann man sich ein Plugin schreiben und die HeadData modifizieren
Wir holen uns eine Instanz des Objekts und schmeißen die Skripte raus die wir nich brauchen:

<?php
//das Array mit den Skript-Dekarationen holen
$document = JFactory::getDocument();
$headData = $doc->getHeadData();
$scripts = $headData['scripts'];

//Skripte löschen - z.B. Mootools und headdata neu setzen.
unset($scripts['/media/system/js/mootools-core.js']);
$headData['scripts'] = $scripts;
$document->setHeadData($headData); ?>

Eine schicke variante ist auch das Verwenden eines automatischen Script loaders wie "requireJS".
Dieses Skript läd automatisch die benötigten Frameworks sowie JS-Files und deaktiviert die anderen.