Импорт 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