Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/06/2013, 06:39
Avatar de jrobinsonc
jrobinsonc
 
Fecha de Ingreso: noviembre-2007
Ubicación: Santo Domingo
Mensajes: 34
Antigüedad: 17 años
Puntos: 2
Información Respuesta: Actualizar jQuery

Si, cuando dije plugins me referí a módulos.

El problema que tengo es que debo desarrollar un site usando jQuery 1.9.1 y jQueryUI 1.10.2 y según veo jQuery Update no soporta todavía esas versiones de las librerias, así que tengo que actualizarlo manualmente.

En cuanto al site que debo desarrollar yo recibo todo el HTML maquetado, mi tarea es solo montarlo sobre Drupal y hacerlo totalmente funcional. No debo ni quiero cambiar las librerías que le pusieron.

Pero ya he encontrado una solución. La pondré aquí para quien se encuentre con este problema:

Gracias a los hooks de Drupal quite todos los JS y CSS que Drupal incluye en el theme:

Código PHP:
Ver original
  1. function mytheme_js_alter(&$javascript)
  2. {
  3.     foreach ($javascript as $key => $value)
  4.     {
  5.         if (strpos($key, 'sites/all/themes/mytheme/') === FALSE)
  6.             unset($javascript[$key]);
  7.     }
  8. }
  9.  
  10. function mytheme_css_alter(&$css)
  11. {
  12.     foreach ($css as $key => $value)
  13.     {
  14.         if (strpos($key, 'sites/all/themes/mytheme/') === FALSE)
  15.             unset($css[$key]);
  16.     }
  17. }

Debido a que quite los JS y CSS de Drupal la barra de administración que aparece en el front-end me dio error, así que la quite también. Ahora solo aparece en el back-end.

Código PHP:
Ver original
  1. function mytheme_page_alter(&$page)
  2. {
  3.     unset($page['page_top']['toolbar'], $page['page_top']['disable_overlay']);
  4. }

Después solo agregue las dos librerías que necesito usar:

Código PHP:
Ver original
  1. drupal_add_js('sites/all/themes/mytheme/uploads/a/j/jquery-1.9.1.min.js');
  2. drupal_add_js('sites/all/themes/mytheme/uploads/a/j/jquery-ui-1.10.2.custom.min.js');

Todo esto lo puse en el fichero template.php.

El único problema con esta solución es que cuando necesite instalar algún modulo que use código Javascript (como un modulo de encuesta, galería, etc...) tendré que hacer que el hook no lo elimine para que funcione.