В Joomla начиная с версии 3.8 HTML-заголовки шаблона сайта, сформированные вызовом <jdoc:include type="head"/>
получаются в результате работы скрипта HeadRenderer.php
, а не /libraries/joomla/document/html/renderer/head.php
, как это было до версии 3.8. Поэтому важно понимать, где искать место, в котором происходит ключевых заголовков HTML-документов в шаблоне Joomla. В этой статье рассмотрим то, где эти заголовки формируются и как можно изменить некоторые параметры блока <head>
HTML-документа, которые Joomla генерирует на лету.
Как вставить автоматические заголовки HTML-документа для блока <head>
в Joomla
Посмотрим ещё раз на простейший файл index.php
шаблона сайта по → этой ссылке. Как видно из приведённого листинга, вставка заголовков а также подключение стилей и скриптов в HTML-документ в Joomla осуществляется в этом блоке:
<head>
<jdoc:include type="head"/>
</head>
Это происходит путём вызова jdoc
с типом head
. Этот вызов приведёт к тому, что Joomla автоматически сформирует следующий фрагмент HTML-кода:
<head>
<base href="https://your-site.ru/" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="Сервер технических разработок Лунной Базы с программами, помогающими Веб-мастерам при работе с сайтами." />
<meta name="generator" content="Joomla! - Open Source Content Management" />
<title>Главная</title>
<link href="/?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
<link href="https://your-site.ru/" rel="alternate" hreflang="ru-RU" />
<link href="https://your-site.ru/en/" rel="alternate" hreflang="en-GB" />
<link href="/templates/rezon/favicon.ico" rel="shortcut icon" type="image/vnd.microsoft.icon" />
<script src="/media/jui/js/jquery.min.js?38a386ff1fe6ccae1ae2b154acd60f1a" type="text/javascript"></script>
<script src="/media/jui/js/jquery-noconflict.js?38a386ff1fe6ccae1ae2b154acd60f1a" type="text/javascript"></script>
<script src="/media/jui/js/jquery-migrate.min.js?38a386ff1fe6ccae1ae2b154acd60f1a" type="text/javascript"></script>
<script src="/media/system/js/caption.js?38a386ff1fe6ccae1ae2b154acd60f1a" type="text/javascript"></script>
<script src="/media/jui/js/bootstrap.min.js?38a386ff1fe6ccae1ae2b154acd60f1a" type="text/javascript"></script>
<script type="text/javascript">
jQuery(window).on('load', function() {
new JCaption('img.caption');
});
</script>
<link href="https://your-site.ru/" rel="alternate" hreflang="x-default" />
</head>
Это значительно упрощает задачу создания шаблона для CMS Joomla, но некоторые теги могут оказаться лишними, как и подключение некоторых стилей и скриптов. Поэтому, чтобы разобраться в том, как формируется заголовок HTML-документа в Joomla, нужно знать, каким скриптом он формируется и где этот скрипт находится.
HeadRenderer.php
— скрипт, отвечающий за формирование заголовка HTML-документа в Joomla
Как уже стало понятно, в Joomla есть скрипт, отвечающий за формирование заголовка HTML-документа в Joomla и начиная с версии 3.8 он находится тут:
/libraries/src/Document/Renderer/Html/HeadRenderer.php
При подключении / отключении дополнительных расширений (модулей и компонентов, а также шаблонов для них), заголовок HTML-документа может удлиняться или укорачиваться в зависимости от того, требуется ли подключение дополнительных файлов со стилями и/или скриптами для его работы и отображения.
Для того, чтобы не передавать лишнюю информацию, можно укоротить список тегов заголовка, например, отключив мета-тег generator, указав в шаблоне:
$this->setGenerator(null);
Это отключит выдачу тега:
<meta name="generator" content="Joomla! - Open Source Content Management" />
То, как это сделать, можно посмотреть на примере по → этой ссылке.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)