Acceder a los valores de un nodo con javascript
Una forma simple de hacer esto, es a través de Drupal.settings, que es un objeto siempre disponible.
Para agregar el nodo a Drupal.settings, lo hago en alguna función adecuada, por ejemplo en la implementación del hook_form_alter(), ya que allí se hacen las alteraciones de los formularios de edición de nodos.
Por ejemplo:
function mymodule_form_alter(&$form, &$form_state, $form_id) {
switch ($form_id) {
case 'my_node_form':
...
$node = node_load($form['nid']['#value']);
// port to javascript
if ($node) {
drupal_add_js(array('node' => $node), 'setting');
}
...
break;
...
}
}
Luego, en algún javascript que se invoque para el tipo my_node, se puede usar algo como:
var node = Drupal.settings.node;
var nid = Drupal.settings.node.nid;
var node_my_field = node.field_my_field[0].value;
Si usa Firebug, podrá encontrar el objeto Drupal en la pestaña DOM y navegar por los otros elementos disponibles en node.
Comentarios
Publicar un comentario