Was genau wird in den jinclude type = head call der Vorlage geladen?

7

Wenn Sie eine Vorlage erstellen, müssen Sie einen (und nur einen) dieser Aufrufe in Ihre <head></head>:

<jdoc:include type="head" />

Das Überprüfen hier liefert nicht viele zusätzliche Informationen:

https://docs.joomla.org/Jdoc_statements#Head

Meine Frage ist also: Was genau wird in diesem Anruf geladen? Ich weiß, dass dies zusätzliche Javascript- und CSS-Dateien lädt, wenn:

$document = JFactory::getDocument();
$document->addStyleSheet($url);
$document->addScript($url);

oder benutzerdefinierte Tags mit

$document = JFactory::getDocument();
$document->addCustomTag($stylelink);

Noch etwas? Und gibt es eine Möglichkeit zu bestellen, was dort geladen ist?

Vielen Dank.

Isidro Baquero
quelle

Antworten:

2

Lädt in Joomla 3.x <jdoc:include type="head" />Folgendes (in keiner bestimmten Reihenfolge):

  • jQuery-Bibliothek
  • jQuery noConflict
  • jQuery migrieren
  • Bootstrap-Bibliothek
  • MooTools-Bibliothek
  • Alle <meta>Informationen
  • Alle CSS- und JS-Dateien für Erweiterungen auf Seiten, denen sie zugewiesen sind
  • Alle CSS- oder JS-Deklarationen, die in Erweiterungen verwendet werden

Mootools wird geladen, da es in Joomla noch Dinge gibt, die dies erfordern. Es wird schließlich entfernt.

jQuery wird geladen, weil Bootstrap dies erfordert und Joomla 3.x (leider) Bootstrap verwendet.

Lodder
quelle
Hmmm ... lädt es immer jQuery und Bootstrap? Ich habe gesehen, dass Protostar das speziell mit JHtml :: _ ('bootstrap.framework') lädt. Warum sollte es das tun, wenn es mit jinclude geladen ist? Vielen Dank für Ihre schnelle Antwort
Isidro Baquero
Es ist ein Fallback. Einige Erweiterungen wie com_content erfordern es und alle JHtml-Importe werden auf den Kopf geschoben
Lodder
Ok, ich glaube ich verstehe jetzt: Wenn jQuery / Bootstrap von einer beliebigen Erweiterung aufgerufen wird, wird es vom <jdoc: include type = head> geladen. Aber wenn 'niemand' sie anruft und Sie sie brauchen, liegt es an Ihnen, den Anruf in Ihre Nebenstelle aufzunehmen. Wenn Sie also am Ende jQuery oder Bootstrap in Ihrer Erweiterung benötigen, sollten Sie ein JHtml :: _ ('bootstrap.framework') hinzufügen. Rufen Sie es an, nur für den Fall, dass es noch nicht geladen wurde. Vielen Dank!
Isidro Baquero