it-swarm.com.de

Kopfskript entfernen, das in der benutzerdefinierten Komponente nicht funktioniert

Ich benutze diese Zeilen, um Header-Skripte von Joomla zu entfernen, die ich nicht brauche:

$doc = JFactory::getDocument();

$dontInclude = array(
    '/media/jui/js/bootstrap.min.js'
);

foreach($doc->_scripts as $key => $script){
    if(in_array($key, $dontInclude)){
        unset($doc->_scripts[$key]);
    }
} 

Auf allen Seiten funktioniert alles einwandfrei, mit Ausnahme derer, die auf eine benutzerdefinierte Komponente verweisen. In meiner Komponente ist kein Head-Override vorhanden und der Cache ist deaktiviert.

Ich benutze Joomla 3.3.3

Edit: Wenn ich das Dokumentobjekt von meiner Komponente aus drucke, handelt es sich bei Skripten um ein leeres Array ...

Danke im Voraus

1
Dayron Gallardo

Sie sollten dies wahrscheinlich in einem System-Plugin mit dem Ereignis onBeforeRender tun. Zu diesem Zeitpunkt der Ausführung wird die Seite gerade gerendert, daher sollten die Skripte vorhanden sein.

Etwas wie das:

function onBeforeRender() {
  $doc = JFactory::getDocument();

  $dontInclude = array(
    '/media/jui/js/bootstrap.min.js'
  );

  foreach($doc->_scripts as $key => $script){
    if(in_array($key, $dontInclude)){
        unset($doc->_scripts[$key]);
    }
  } 
}
2
Michael