Joomla und mootools.js Drucken
Montag, den 02. Juni 2008 um 09:40 Uhr

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.
Zuletzt aktualisiert am Sonntag, den 13. Juli 2008 um 10:01 Uhr