2012-01-31 22 views
6

Muy bien, así que he creado un archivo de plantilla para uno de mis bloques, que funciona bien. Sin embargo, dentro de esta plantilla me gustaría obtener la identificación del nodo actual. ¿Cómo es eso posible? He intentado arg, $ node y todas estas variables, pero ninguna de ellas está disponible.Obtener ID de nodo dentro de la plantilla de bloque con Drupal 7

Gracias de antemano.

+1

Te amo por hacer esta pregunta! ;) –

Respuesta

23

Suponiendo que estés en la página propio nodo menu_get_object() la función devolverá el objeto de nodo:

$node = menu_get_object(); 
if ($node && $node->nid) { 
    // You have a valid node to work with. 
} 
+0

Desafortunadamente, esa no es una suposición segura. – Jeff

+0

@Jeff Para la frase "nodo actual" es una suposición segura (a eso se refiere esa frase en Drupal-eze). Si no es una página de nodo, ¿qué "nodo actual" estás buscando? Es probable que haya un método similarmente fácil de encontrarlo – Clive

+0

En la segunda lectura, sí, supongo que tienes razón. Leí "nodo actual" como el nodo para el bloque actual. – Jeff

0
// it will gives only node id. 
if (arg(0) == 'node' && is_numeric(arg(1))) { 
    $nid = arg(1); 
} 
echo $nid; 
Cuestiones relacionadas