Estoy usando Drupal 7, que usa jQuery 1.4 por defecto. ¿Cómo puedo actualizarlo a la última versión (actualmente 1.7)?
Estoy usando Drupal 7, que usa jQuery 1.4 por defecto. ¿Cómo puedo actualizarlo a la última versión (actualmente 1.7)?
Respuestas:
Una forma es instalar la versión de desarrollo de jQuery Update , que le ofrece la opción de usar jQuery 1.7 (visitando la página de configuración en http://mysite.com/admin/config/development/jquery_update ).
Sin embargo, tenga cuidado, actualmente se sabe que rompe JavaScript en otra parte del sitio (por ejemplo, el menú desplegable de widgets en una página Administrar campos ya no funcionará). Si está preparado para arreglar eso, y cualquier otra molestia pequeña, esta es probablemente su mejor opción. También debe tener en cuenta que el uso de la versión de desarrollo de un módulo no está exento de riesgos, ya que las posibilidades de que tenga errores son mucho mayores que el uso de una versión específica.
Si desea hacerlo manualmente, tendrá que reescribir una gran cantidad de código JavaScript central para que su sitio funcione como se espera; jQuery cambió muchísimo entre la versión 1.4 / 1.5 y 1.7, por lo que gran parte del código JavaScript Drupal central simplemente no funcionará con él.
Si solo desea colocar una versión de jQuery 1.7, entonces probablemente podría implementar hook_js_alter()
, desarmar el archivo jQuery principal y agregar el suyo en su lugar:
function MYMODULE_js_alter(&$js) {
$path = drupal_get_path('module', 'MYMODULE') . '/path/to/jquery.1.7.js';
// Copy the current jQuery file settings and change
$js[$path] = $js['misc/jquery.js'];
// Update necessary settings
$js[$path]['version'] = 1.7;
$js[$path]['data'] = $path;
// Finally remove the original jQuery
unset($js['misc/jquery.js']);
}
Una vez que hayas hecho eso, abre Herramientas para desarrolladores / Firebug y verás todos los cambios que necesitarás hacer para que el resto del sitio JS funcione :)
ACTUALIZAR
La última versión de la actualización de jQuery ( 7.x-2.3 en el momento de la escritura) ahora le permitirá actualizar jQuery a v1.8. Muy genial.
El módulo jQuery Multi es otra opción, gracias a Goron por señalarlo en los comentarios. Como también señala, este módulo tiene una versión estable y no romperá ningún javascript existente.
Inspirado por la documentación de hook_js_alter , los siguientes trabajos. Puedes colocarlo en el template.php de tu tema. Esto requiere que use un tema de administrador diferente para evitar conflictos con el núcleo de Drupal, y supone que jquery-1.8.3.min.js está ubicado en una carpeta llamada 'js' dentro del tema (ajuste según convenga).
function [theme_machine_name]_js_alter(&$javascript) {
$javascript['misc/jquery.js']['data'] = drupal_get_path('theme', '[theme_machine_name]') .
'/js/jquery-1.8.3.min.js';
$javascript['misc/jquery.js']['version'] = '1.8.3';
}
No estoy seguro de cuál es su propósito aquí, pero cuando necesitaba una versión específica para el desarrollo de módulos personalizados, pude hacerlo utilizando jQuery.noConflict .
Es un trabajo adicional en comparación con el módulo jquery_update (que al OP no parece importarle), pero significa que no tiene que preocuparse por si arruinará toda su instalación de drupal.