Существует 3 способа изменить то, что находится у вас в секции Head:
- Можно отредактировать напрямую функцию fetchHead() в /libraries/joomla/document/html/renderer/head.php (не рекомендуется);
- Воспользоваться методами JDocument и добавить метатеги или теги вставки скриптов;
- Захардкодить теги непосредственно в файле index.php шаблона.
Первым методом пользоваться недальновидно: в случае обновления движка, придется снова править файл head.php
Самый удобный второй способ, который не завязан на файлах ядра и позволяет редактировать секцию заголовка из любого шаблона, компонента или модуля.
Перед тем, как вызывать методы правки заголовочной секции, требуется получить экземпляр текущего документа и присвоить нужные значения до момента отрисовки страницы:
/* Получить объект */
$doc = &JFactory::getDocument();
/* Создает пустой метатег generator. Например, на тот случай, если вы хотите скрыть,
что сайт сделан на Joomla. */
$doc->setGenerator();
/* Задает метатег description */
$doc->setDescription();
/* Задает тег title */
$doc->setTitle();
/* Создает пользовательский метатег */
$doc->setMetaData($name,$content);
/* привязывает файл таблицы стилей */
$doc->addStyleSheet('/path/to/file')
/* привязывает файл javascript или скрипта на каком-либо другом языке */
$doc->addScript('/path/to/file')
/* добавляет пользовательский тег. Можно использовать для вставки любого
тега в секцию head. */
$doc->addCustomTag();
/* Добавляет кусок кода javascript. Разместит код javascript и
обрамит тегом <script>. Joomla размещает их после внедрения скриптов
addScript(). */
$doc->addScriptDeclaration()
/* Добавляет кусок пользовательского стиля css. Внедряет css-стили и обрамляет
их тегом <style>. Joomla разместит их после стилей addStyleSheet(). */
$doc->addStyleDeclaration()
javascript- и css-файлы можно также вставлять посредством объекта JHTML:
/* Такой метод подключает библиотеку jquery в секцию head , расположенную
в папке script/js/. */
JHTML::script('jquery-1.4.2.min.js','script/js/');
/* А так подключается css-файл */
JHTML::stylesheet('template.css', 'script/css/');