2012-12-07 10 views
5

In Joomla 2.5 werden die folgenden Skripts automatisch geladen.Das Laden von automatischen Skripts in Joomla 2.5 wird gestoppt

<script src="/media/system/js/mootools-core.js" type="text/javascript"></script> 
<script src="/media/system/js/core.js" type="text/javascript"></script> 
<script src="/media/system/js/caption.js" type="text/javascript"></script> 
<script src="/media/system/js/mootools-more.js" type="text/javascript"></script> 
<script src="/templates/pswedge/js/jquery.min.js" type="text/javascript" defer="defer"></script> 

Ich möchte diese Dateien nicht laden. Wie kann ich diese Links entfernen?

+0

Welche Vorlage verwenden Sie eine benutzerdefinierte Vorlage oder eine freie Vorlage? – Toretto

+1

Ich habe die Vorlage selbst erstellt. Ich muss tatsächlich wissen, wo der Code generiert wird –

+0

Dann überprüfen Sie den Kopf Abschnitt in Ihrer Vorlage, diese Skripte sind es einfügen, kommentieren Sie es aus. – Toretto

Antwort

8

Ich würde Ihnen nicht empfehlen, die Core-Dateien von Joomla.But zu ändern, wenn Sie wirklich, dass benötigen, dann können Sie dies versuchen:

Schritt die vorinstallierten Skriptdatei in Joomla Template zu deaktivieren.

Schritt eins: Ihre Lieblings-Datei-Editor verwenden, öffnen Sie für edit:

/libraries/joomla/document/html/renderer/head.php

Erster Schritt: Finden Sie diesen Code bei Linie 151 und aktualisieren sie den Code mit diesem gehören:

// Generate script file links 
foreach ($document->_scripts as $strSrc => $strAttr) 
{ 
    // Code to disable mootools for your site (still loads it for your admin) 

    $ex_src = explode("/",$strSrc); 
    $js_file_name = $ex_src[count($ex_src)-1]; 
    $js_to_ignore = array("mootools-core.js","mootools-more.js","core.js","caption.js"); 
    if(in_array($js_file_name,$js_to_ignore) AND substr_count($document->baseurl,"/administrator") < 1 AND $_GET['view'] != 'form') 
     continue; 

    $buffer .= $tab . '<script src="' . $strSrc . '"'; 
    if (!is_null($strAttr['mime'])) 
    { 
     $buffer .= ' type="' . $strAttr['mime'] . '"'; 
    } 
    if ($strAttr['defer']) 
    { 
     $buffer .= ' defer="defer"'; 
    } 
    if ($strAttr['async']) 
    { 
     $buffer .= ' async="async"'; 
    } 
    $buffer .= '</script>' . $lnEnd; 
} 

nach dem Speichern Deaktivieren Sie oben den Cache, den Sie festgelegt haben, und testen Sie Ihre Joomla-Website und Ihr Joomla Admin-Dashboard. Wenn Sie den Quellcode anzeigen, sind alle vordefinierten Dateien nicht vorhanden.

Oder

Sie können wie diese versuchen, es in Vorlage von index.php zu verstecken. Setzen Sie diese Zeile vor die <jdoc:include type="head" /> und nehmen Sie die erforderlichen Änderungen an den Skripten vor.

<?php 
    $search = array('mootools-more.js', 'caption.js'); 
    // remove the js files 
    foreach($this->_scripts as $key => $script) { 
     foreach($search as $findme) { 
      if(stristr($key, $findme) !== false) { 
       unset($this->_scripts[$key]); 
      } 
     } 
    } 
?> 
3

Mai eines dieser Methode Werk

Methode 1: Setzen Vor <jdoc:include type="head" />

$search = array('mootools', 'caption.js'); 
    // remove the js files 
    foreach($this->_scripts as $key => $script) { 
     foreach($search as $findme) { 
      if(stristr($key, $findme) !== false) { 
       unset($this->_scripts[$key]); 
      } 
     } 
    } 

// Methode 2

in index.php der Vorlage

$parameter_script = 'scripts'; 
$headerstuff=$document->getHeadData(); 
reset($headerstuff[$parameter_script]); 
foreach($headerstuff[$parameter_script] as $key=>$value){ 
unset($headerstuff[$parameter_script][$key]);  
} 
$document->setHeadData($headerstuff); 

// Methode 3

Im Dateiverzeichnis /plugins/system eine neue Datei “removemootools.php” genannt erstellen und den folgenden Code einfügen (Sie müssen das Plugin in der Datenbank registrieren, auch).

class plgSystemRemoveMooTools extends JPlugin 
{ 
public function onAfterDispatch() 
{ 
$app = JFactory::getApplication(); 
if($app->isSite()) //Only ever remove MooTools from the client-side, never the admin side 
{ 
//Repeat these three line for all js you want to exclude 
$mootools = JURI::root(true).DS.'media'.DS.'system'.DS.'js'.DS.'mootools.js'; 
$document = JFactory::getDocument(); 
unset($document->_scripts[$mootools]); 
} 
} 
} 
0

Ich habe diesen Code benutzt, um jquery Dateien vom Kopf zu entfernen (Joomla! 3.3.1)

<?php 

//Remove jquery 
$search = array('jquery', 'jquery.min.js'); 
    // remove the js files 
    foreach($this->_scripts as $key => $script) { 
     foreach($search as $findme) { 
      if(stristr($key, $findme) !== false) { 
       unset($this->_scripts[$key]); 
      } 
     } 
    } 
?> 

<jdoc:include type="head" /> 
0

Es gibt zwei Möglichkeiten, die ich bin mir dessen bewusst:

1) eine Instanz, wenn das Dokumentobjekt bekommen und entfernen Sie die js Dateien (Sie, dass in einem Plugin tun könnte):

<?php 
     //get the array containing all the script declarations 
     $document = JFactory::getDocument(); 
     $headData = $document->getHeadData(); 
     $scripts = $headData['scripts']; 

     //remove your script, i.e. mootools 
     unset($scripts['/media/system/js/mootools-core.js']); 
     unset($scripts['/media/system/js/mootools-more.js']); 
     $headData['scripts'] = $scripts; 
     $document->setHeadData($headData); 
?> 

2) entfernen js Dateien direkt von Ihrer Vorlage index.php:

<?php unset($this->_scripts['/media/system/js/mootools-core.js']); ?> 
Verwandte Themen