正確に何が「内部」テンプレートのjinclude type = head呼び出しに読み込まれますか?


7

テンプレートを作成するときは、これらの呼び出しの1つ(および1つだけ)を内に配置する必要があります<head></head>

<jdoc:include type="head" />

ここを確認しても、追加情報はそれほど多くありません。

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

だから私の質問は:この呼び出しで正確に何が読み込まれるのですか?私はこれが使用時に追加のJavaScriptとCSSファイルをロードすることを知っています:

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

またはカスタムタグを使用して

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

他に何か?そしてそこに何がロードされているかを注文する方法はありますか?

ありがとう。

回答:


2

Joomla 3.xでは<jdoc:include type="head" />、以下をロードします(順不同)。

  • jQueryライブラリ
  • jQuery noConflict
  • jQuery移行
  • ブートストラップライブラリ
  • MooToolsライブラリ
  • すべての<meta>情報
  • 割り当てられているページの拡張機能のCSSおよびJSファイル
  • 拡張機能で使用されているCSSまたはJS宣言

Joomlaにはそれを必要とするものがまだあるので、Mootoolsがロードされます。最終的には削除されます。

BootstrapがjQueryを必要とし、Joomla 3.xが(残念ながら)Bootstrapを使用するため、jQueryが読み込まれます。


うーん...それは常にjQueryとBootstrapをロードしますか?私はProtostarがJHtml :: _( 'bootstrap.framework');を使用して具体的にロードするのを見てきました。jincludeでロードされていると、なぜそうなりますか?お返事ありがとうございます
Isidro Baquero 2014

それはフォールバックです。com_contentなどの一部の拡張にはそれが必要で、JHtmlインポートはすべて先頭にプッシュされます
Lodder

わかりました、私は今理解していると思います。jQuery/ Bootstrapが拡張機能によって呼び出された場合、それは<jdoc:include type = head>によってロードされます。しかし、「誰も」がそれらを呼び出さず、それらを必要とする場合、あなたの内線にその呼び出しを追加するのはあなた次第です。したがって、最終的に、拡張機能でjQueryまたはブートストラップが必要になる場合は、JHtml :: _( 'bootstrap.framework');を追加する必要があります。まだロードされていない場合に備えて、それを呼び出します。どうもありがとう!
Isidro Baquero 14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.