Joomla und mootools.js Print
Monday, 02 June 2008 09:40

Vorwort


Auf meiner Frontpage ( und einigen anderen Seiten ) benötige ich nicht die voreingestellten Scripte mootools.js und caption.js. Da beide an die 80kb Datentransfer benötigen, kann man durch abschalten dieser den Seitenaufbau beschleunigen.

Anleitung

Um die beiden Scripte zu entfernen, ist eine Änderung am aktuellen Template notwendig.
Geht in das template/xxx Verzeichniss und editiert die Datei index.php.

Je nach Template findet ihr mehr oder weniger am Anfang ( head ) folgende Zeile :
<jdoc:include type="head" />

Sollen die Scripte nur auf der Startseite nicht geladen werden, ersetzt die Zeile durch folgenden Code :
<?
  // Remove mootools.js and caption.js on StartPage 
  $menu =& JSite::getMenu();
  if ($menu->getActive() == $menu->getDefault()) {
    $headerstuff = $this->getHeadData();
    unset ($headerstuff['scripts'][$this->baseurl . '/media/system/js/mootools.js']) ; 
    unset ($headerstuff['scripts'][$this->baseurl. '/media/system/js/caption.js']) ;
    $this->setHeadData($headerstuff);
  }
?>
<jdoc:include type="head" />


Benötigen Gäste die Scripte auf keiner Euren Seiten, kann folgender Code weiterhelfen :

<?
  // Remove mootools.js and caption.js für Gäste  
  $user =& JFactory::getUser();
  if ( $user->guest ) {
  //if ( $user->usertype == null || $user->usertype == '' ){
  $menu =& JSite::getMenu();
    if ($menu->getActive() == $menu->getDefault()) {
      $headerstuff = $this->getHeadData();
      unset ($headerstuff['scripts'][$this->baseurl . '/media/system/js/mootools.js']) ; 
      unset ($headerstuff['scripts'][$this->baseurl. '/media/system/js/caption.js']) ;
      $this->setHeadData($headerstuff);
    }
  }
?>
<jdoc:include type="head" />
Aber Achtung, viele Module verwenden das mootools.js, z.B. Gallerien usw. 

 Abschluss


Leider kann ich die Verwendung nicht global für alle Gäste abschalten da einige Module das mootools.js benötigen. Wünschen würde ich mir hier eine Art Konfiguration oder einen 'intelligenten' Mechanismus welcher erkennen kann, das Scripte benötige werden ( steht ja eigentlich in der Konfiguration).

Bis jemand eine bessere Lösung findet, laden alle Seiten, außer der Frontpage, leider noch immer die 'ungewollten' Scripte nach.
Last Updated on Sunday, 13 July 2008 10:01