Joomla 3.X - Entfernen tooltip-Skript aus dem header?
Ich versuche zu entfernen unerwünschte Skripte von meinem custom joomla template header, die ich habe es geschafft alles zu beseitigen, außer diesem:
<script type="text/javascript">
jQuery(document).ready(function()
{
jQuery('.hasTooltip').tooltip({});
});
</script>
Habe ich gesucht für Stunden, und ich habe versucht, viele Dinge, um es zu bekommen entfernt, aber ich kann nicht scheinen, um es loszuwerden. Hier ist, was ich getan habe, zu entfernen, die anderen scripts, die ich nicht wollen (für alle anderen, die dieses Problem hat):
# unset frameworks
JHtml::_('bootstrap.framework',false);
JHtml::_('jquery.framework',false);
# unset scripts
unset($doc->_scripts[$this->baseurl.'/media/jui/js/jquery.min.js']);
unset($doc->_scripts[$this->baseurl.'/media/jui/js/jquery-noconflict.js']);
unset($doc->_scripts[$this->baseurl.'/media/jui/js/bootstrap.min.js']);
Wenn mir jemand helfen könnte zu entfernen, tooltip javascript, das wäre fantastisch. Oh, und ich will nicht zu berühren Sie den core-Dateien, so dass ich versuche es zu entfernen aus der Vorlage index.php die Datei selbst.
- Es scheint nicht eine klare Lösung für dieses Problem in 3.4.0.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einige Komponente/Modul/Plugin aufrufen der Funktion JHTML::_('behavior.tooltip'). und dieser Funktion fügen Sie Ihren code.
können Sie tun:
Den schmutzigen Weg gehen: libraries\cms\html\bootstrap.php und ändern Sie die Datei an die Methode der tooltip(). aber denken Sie daran, es ist eine core-Datei so aktualisieren Sie können diesen Ihre änderungen.
Sauber, die Komponente finden, fügt dieser code und entfernen oder ändern Sie es.
Glück
Müssen Sie manuell analysieren
$doc->_script
. Die$doc->_scripts
array enthält Skripts, die mit einer anderen Quelle während der$doc->_script
ist für Skript-Erklärungen wie die QuickInfo ein.Am Ende deiner web-root index.php (nicht Vorlage, http://domain.com/index.php) ersetzen Sie das $ - app->execute(); line mit den folgenden:
Beachten Sie, dass Sie müssen verwenden Sie die GENAUE HTML, die erstellt wird, durch das Modul. Dies ist, was mein Modul erstellen, Ihnen könnte etwas anders sein.
Zusätzlich zu tun, der HTML schreibt wie diese, könnten Sie auch ordentlich die Ausgabe, links zu entfernen-Modulen, etc.
Ich benutze diese auch für Dinge wie das ändern der copyright-Jahr auf eine website. In einer Modul-position, auf die ich mich beziehe das aktuelle Jahr{Jahr}" und dann füge ich noch einen str_replace die das folgende tut:
Bingo, zeigt immer das aktuelle Jahr.
Genießen...
Ich es geschafft, loszuwerden, der eingebettete javascript-mit diesem code in meine Vorlage index.php Datei:
disclaimer: ich bin kein PHP Entwickler, so verwenden Sie obigen code wird auf eigene Gefahr 🙂
Basierend auf Joomla Dokumente, 2 Dinge zu beachten:
a) In dem code unten, Sie tatsächlich aktivieren/inklusive bootstrap und jquery:
Beim bootstrap wird aktiviert, joomla aktiviert automatisch jquery und wenn joomla aktiviert, jquery, joomla automatisch aktiviert tooltip.
Einfach nicht diese Funktionen aufrufen. Die
unset
Sie verwendet wird entfernen, bootstrap und jquery richtig:b), wenn die tooltip-Skript ist immer noch enthalten, es ist vermutlich eingefügt durch
JHtml::_('behavior.tooltip');
irgendwo in der verwendeten Komponente.Schließlich nie nie nie ändern Joomla-core Dateien. es ist ein " worst-practice.
PS.
Für diejenigen, die erwähnt, dass das tooltip-script eingefügt aber Sie finden es nicht in der
$doc
, das ist, weil die$doc
enthält keine inline-Skripte.$doc
enthält die inline-scripts zu. Blick auf meine Antwort.Habe ich bereits begegnen diesem Problem, ich bin mit Joomla 3. Wenn es dein Fall ist, dann kann man es lösen, indem dies zu tun :
Joomla 3 kommt mit jQuery an board, so dass durch hinzufügen von Joomla selbst, diese erzeugen das Problem.
Auch stellen Sie sicher, dass Sie Ihre jQuery über
<jdoc:include type="head" />
. Wenn Sie notwendig ist, will es aufnehmen. Aber ich empfehle nicht, dies.Hoffe, das hilft
Ich hatte das gleiche problem, wenn ich Gebäude ein Joomla-template/site nur mit HTML5, CSS3 und ein paar kleine jQuery-plugins für Effekte. Es war unwürdig, wie hohe Bootstrap-nur um zu zeigen, einige tooltips die ich auch nicht nutzen.
Obwohl ich bereits gelöscht media/jui/js/bootstrap.min.js von JDocument aber diese Zeilen von code
wurden noch angehängt, die von libraries/cms/html/bootstrap.php. Also ich hab Fehler-Funktion", tooltip nicht gefunden".
Ich gelöst, indem man eine leere Funktion zu meinem template die JS-Datei.
Gibt es ein Joomla-Plugin zur Verfügung, die entfernt Bootstrap und entfernt auch die tooltip-Funktion-snippet, welches eingefügt durch
JHtml::_('behavior.tooltip');
irgendwo in einer beliebigen Komponente.Siehe hier: Deaktivieren der Bootstrap-Plugin
Erstellen Sie ein system-plugin mit den Folgen code.
Die Erste foreach-Schleife
unset
s die.js
Datei(en) Hinzugefügt, um den Kopf. Und die nächsten foreach-Schleifeunset
s diejs
code injiziert innen<script>
- tags.Gibt es zwei verschiedene Eigenschaften, welches die Scripten enthält die
_script
&_scripts