Importación de jQuery a Joomla

He sido desarrollador de Joomla durante casi un año. He estado luchando para importar jQuery en joomla todos los días. Joomla viene con mootools. Cuando importo jQuery, se bloquea. Además, cuando creo módulos, tengo que importar jQuery en cada módulo, lo que hace que el sitio sea lento. A veces hace que todo el sitio se cuelgue. Quiero que tanto mootools como jquery funcionen codo a codo para que pueda usar ambos sin fallas.

¿Cuál es la mejor manera de importar jQuery en Joomla? ¿Hay algún lugar específico donde se deba realizar la importación para usar una sola biblioteca jquery en todo el sitio ( tanto backend como frontend )?

Gracias

Este es el código que usamos para asegurar que solo se importe 1 copia de jQuery. Simplemente verifica si jQuery ya se está importando y si no, entonces lo importamos 🙂

Joomla 2.5

get('jquery')) { $app->set('jquery', true); JFactory::getDocument()->addScript(JUri::root() . 'templates/template_name/js/jquery.js'); } ?> 

Joomla 3.x (sin modo de conflicto):

 JHtml::_('jquery.framework'); 

Joomla 3.x (modo normal):

 JHtml::_('jquery.framework', false); 

Debe insertar este código en el index.php de su plantilla, preferiblemente cerca de la parte superior para que recuerde dónde está. Si no desea anular el archivo index.php de su plantilla, también puede desarrollar un pequeño complemento

Actualizar:

Como Bobby declaró. Muchas extensiones incluyen su propia copia de jQuery y muchas de ellas no usan este método y, por lo tanto, generan conflictos. Todo lo que sé es que cualquier buen desarrollador debería saber que las bibliotecas jQuery múltiples causan conflictos y deberían usar este código.

Este es un gran complemento.

http://extensions.joomla.org/extensions/core-enhancements/performance/jquery-scripts/18327

Este complemento está destinado a ayudar a limpiar y resolver problemas de front y back end cuando se utilizan instancias de jQuery junto con las bibliotecas de Mootools.

LO QUE HACE FUERA DE LA CAJA

  • llama a las bibliotecas jQuery y jQuery UI desde Google CDN (con o sin protocolo), pero también puede hacerlo localmente.
  • coloca las bibliotecas jQuery después de llamadas de MooTools para compatibilidad perfecta,
  • agrega el código noConflict () junto con la llamada a la biblioteca jQuery,
  • quita las bibliotecas adicionales de jQuery y jQuery UI, incluidas las llamadas noConflict () agregadas por otros módulos o complementos,
  • le permite elegir el estilo básico de jQuery UI o el tema personalizado.

LO QUE PUEDES TWEAK

  • desactivar las bibliotecas de MooTools tentativamente en la interfaz,
  • habilitar o deshabilitar el complemento en partes específicas del sitio, desde la plantilla hasta la página única,
  • use los informes para obtener comentarios sobre lo que ha hecho el motor de complementos,
  • agregar o eliminar scripts y hojas de estilo,
  • quitar las líneas en blanco dejadas por las modificaciones hechas a la página,
  • evitar que algunas bibliotecas sean eliminadas,
  • modifique la forma en que el motor funciona por defecto (no agregue ni elimine el código noConflict () …),

Usa Joomla! 3.0 – ¡Si has pasado tanto tiempo intentando, deberías ayudar con el Joomla! Grupo de trabajo de JavaScript que fue creado para abordar esto.

En Joomla 3.x JApplication ya no se extiende desde JObject, lo que significa que cuando quieras usar el mismo código en tu extensión para Joomla 2.5 y Joomla 3.x, entonces debes escribir la condición if como

 if (!version_compare(JVERSION, '3', 'ge') && !JFactory::getApplication()->get('jquery', false)) { 

De lo contrario, se bloqueará !! Puede encontrar un ejemplo aquí https://github.com/Digital-Peak/DPExtensions/blob/master/mod_dpslider/tmpl/default.php#L13

    Intereting Posts