Импорт jQuery в Joomla
Я был разработчиком Joomla уже почти год. Я изо всех сил пытаюсь импортировать jQuery в joomla каждый день. Joomla поставляется с mootools. Когда я импортирую jQuery, он падает. Также, когда я создаю модули, я должен импортировать jQuery в каждый модуль, который делает сайт медленным. Иногда это приводит к сбоям всего сайта. Я хочу, чтобы оба mootools и jquery работали рука об руку, чтобы я мог использовать оба без каких-либо сбоев.
каков наилучший способ импорта jQuery в Joomla ? есть ли определенное место, где импорт должен выполняться для использования одного сайта библиотеки jquery (как backend и frontend) ?
спасибо
4 ответов
Это код, который мы используем для обеспечения импорта только 1 копии jQuery. Он просто проверяет, импортируется ли jQuery, а если нет, то мы импортируем его:)
Joomla 2.5
<?php
$app = JFactory::getApplication();
if (!$app->get('jquery'))
{
$app->set('jquery', true);
JFactory::getDocument()->addScript(JUri::root() . 'templates/template_name/js/jquery.js');
}
?>
Joomla 3.х (без конфликтов):
JHtml::_('jquery.framework');
Joomla 3.х (нормальный режим):
JHtml::_('jquery.framework', false);
вам нужно вставить этот код в
Это отличный плагин.
http://extensions.joomla.org/extensions/core-enhancements/performance/jquery-scripts/18327
этот плагин предназначен, чтобы помочь очистить и решить передней и задней части проблемы при использовании экземпляров jQuery рядом с Mootools библиотеки.
ЧТО ОН ДЕЛАЕТ ИЗ КОРОБКИ
- вызывает библиотеки jQuery и jQuery UI из Google CDN (с протоколом или без него) - но вы также можете сделать это локально,
- размещает библиотеки jQuery после вызовов MooTools для идеальной совместимости,
- добавляет код noConflict () вместе с вызовом библиотеки jQuery,
- удаляет дополнительные библиотеки jQuery и jQuery UI, включая вызовы noConflict (), добавленные другими модулями или плагинами,
- позволяет выбрать jQuery UI basic styling или пользовательскую тему.
ЧТО ВЫ МОЖЕТЕ НАСТРОИТЬ
- отключить библиотеки MooTools предварительно в интерфейсе,
- включить или отключить плагин в определенных частях сайта, от шаблона до одной страницы,
- используйте отчеты, чтобы получить обратную связь о том, что сделал движок плагина,
- добавление или удаление скриптов и таблиц стилей,
- очистите пустые строки, оставленные изменениями, сделанными на странице,
- запретить удаление некоторых библиотек,
- измените способ работы движка по умолчанию (не добавляйте и не удаляйте код noConflict ()...),
Использовать Joomla! 3.0-Если вы потратили столько времени, пытаясь, вы должны помочь с Joomla! Рабочая Группа JavaScript который был построен для решения этой проблемы.
В Joomla 3.x JApplication больше не распространяется на JObject, что означает, что вы хотите использовать тот же код в своем расширении для Joomla 2.5 и Joomla 3.x тогда вы должны написать условие if, например
if (!version_compare(JVERSION, '3', 'ge') && !JFactory::getApplication()->get('jquery', false)) {
в противном случае он рухнет!! Пример можно найти здесь https://github.com/Digital-Peak/DPExtensions/blob/master/mod_dpslider/tmpl/default.php#L13