Убираем лишние js и вызов hasTooltip из head в движке joomla 3.0+. Это часто нужно в целях облегчения страницы, — влияет на скорость загрузки сайта, а также оказывает благотворное действие на оценку сайта поисковиками.
hasTooltip — путь внутренней категории в файловой системе joomla:
libraries/cms/html/bootstrap.php
Посадка tooltip происходит в строке (~474):
// Attach tooltips to document
JFactory::getDocument()->addScriptDeclaration(
"jQuery(document).ready(function()
{
jQuery('" . $selector . "').tooltip(" . $options . ");
});"
);
Удаляем эти строки или слешируем.
Один из популярных и изведанных способов блокировать загрузку ряда ненужных js в шаблоне — прописание следующего кода в head страницы. Путь:
templates/{имя_шаблона}/index.php
$headlink = $this->getHeadData();
unset($headlink['scripts']['/media/system/js/caption.js']);
unset($headlink['scripts']['/media/system/js/validate.js']);
unset($headlink['scripts']['/templates/protostar/js/template.js']);
unset($headlink['scripts']['/media/jui/js/jquery.min.js']);
unset($headlink['scripts']['/media/jui/js/jquery-migrate.min.js']);
unset($headlink['scripts']['/media/jui/js/bootstrap.min.js']);
unset($headlink['scripts']['/media/jui/js/jquery-noconflict.js']);
$this->setHeadData($headlink);
Я подскажу, как удалить подгрузку этих js-скриптов в php-файлах системы joomla.
Путь:
libraries/cms/html/html.php
ищем функцию «public static function script» (~672)
Находим чуть ниже:
$includes = static::includeRelativeFiles('js', $file, $relative, $detect_browser, $detect_debug);
Заменяем на:
if(strpos($_SERVER['REQUEST_URI'],'administrator/')){ $includes = static::includeRelativeFiles('js', $file, $relative, $detect_browser, $detect_debug); }
* Примечание: Правильная работа административной части (урл содержит адрес ‘administrator/’) требует загрузки скриптов. Поэтому определяем условия подгрузки: если в урле присутствует ‘administrator/’, осуществляем подгрузку. Если нет — ничего не подгружаем.