Drupal 7
Você pode ligar jquery_update_jquery_replace()
para uma página específica (por exemplo, dentro hook_library_alter()
), como demonstrado aqui por drupalmoff :
<?php
/**
* Implements hook_module_implements_alter().
*/
function your_module_module_implements_alter(&$implementations, $hook){
if( $hook == 'library_alter' ){
$group = $implementations ['your_module'];
unset($implementations ['your_module']);
$implementations ['your_module'] = $group;
}
}
/**
* Implements hook_library_alter().
*/
function your_module_library_alter(&$javascript, $module) {
if( $module === 'system' && current_path() == 'path/to/page' ) {
// Make sure we inject either the minified or uncompressed version as desired.
$min = variable_get('jquery_update_compression_type', 'min') == 'none' ? '' : '.min';
$cdn = variable_get('jquery_update_jquery_cdn', 'none');
$path = drupal_get_path('module', 'jquery_update');
$version = '1.7';
jquery_update_jquery_replace($javascript, $cdn, $path, $min, $version);
}
}
?>
Drupal 6
Minha solução foi mudar JQUERY_UPDATE_REPLACE_PATH
constante antes de jquery_update
carregá-lo:
<?php
/**
* Replace jQuery files on specified paths (fix for IE 6&7 - jQuery bug: bugs.jquery.com/ticket/6498)
*/
// if (array_search($_GET['q'], array('my_page')) !== FALSE) {
if (arg(0) == 'node' && arg(1) == '123') {
define('JQUERY_UPDATE_REPLACE_PATH', 'sites/all/libraries/jquery/1.5.2');
}
?>
Portanto, ele pode ser adicionado no início do arquivo .module (que já foi carregado antes jquery_update
ou no arquivo de configurações).