Pasar variables de drupal 7 a jquery

Pasar variables de drupal 7 a jquery

Pasar variables de drupal 7 a jquery - tacande.net

Cuando queremos añadir javascript a un código en Drupal 7, muchas veces necesitamos pasar variables de Drupal al script. Una forma tradicional es crear campos ocultos y pasarlos a través de la url, pero Drupal tiene una forma más elegante de hacerlo.

Una vez más, algo sencillo, pero que hasta que das con la solución puede pasar un tiempo digamos... "variable". Para dar con esta solución fue de gran ayuda mi amigo jonhattan.

La estructura, para pasar 2 variables, sería la siguiente:

$variables = array('var1'=>$var1, 'var2'=>$var2);
drupal_add_js(array('nombre_modulo'=> $variables), 'setting');
drupal_add_js(drupal_get_path('module', 'nombre_modulo').'/script.js');

Luego, en dicho script.js, recogemos las variables de la forma:

var var1 = Drupal.settings.nombre_modulo.var1; 
var var2 = Drupal.settings.nombre_modulo.var2;

Sencillo no?

Si después de hacer esto el script sigue sin leer bien las variables, quizá tengas que encapsularlas en un json, por lo que, en Drupal, antes de añadir la variable al array $variables, tendrás que hacer lo siguiente:

$var1 = json_encode($var1);

Y luego en script.js, una vez tomada la varible, decodificarla así:

var1 = $.parseJSON(var1);

Si te ha sido de ayuda, compártelo!

Si quieres aprender más sobre Drupal, y en español, te recomiendo la formación con Forcontu.

Soy referenciante, y te ofrezco 2 cupones de descuento:

  • 10% en el curso con el cupón TACANDECUR
  • 5% en los libros con el cupón TACANDELIB

Elije tu opción de formación (curso o libros) y usa tu cupón de descuento.

Experto en Drupal 7 con Forcontu Pack de libros Drupal 7

Compartir: 
Come up