Periódicamente recibo un error acerca de que $ node está indefinido en uno de mis archivos de plantilla. Tengo una simple condición if que verifica el tipo de nodo que se muestra. Supuse que $ node siempre está disponible, ¿o me equivoco?
Periódicamente recibo un error acerca de que $ node está indefinido en uno de mis archivos de plantilla. Tengo una simple condición if que verifica el tipo de nodo que se muestra. Supuse que $ node siempre está disponible, ¿o me equivoco?
Respuestas:
$ node no está necesariamente definido, desde la página.tpl.php Drupal 7 API :
$ nodo: el objeto de nodo, si hay un nodo cargado automáticamente asociado con la página, y la ID del nodo es el segundo argumento en la ruta de la página (por ejemplo, nodo / 12345 y nodo / 12345 / revisiones, pero no comentario / respuesta / 12345).
Por defecto, solo en las páginas de nodo se define la variable $ node. Para la página principal (un feed), ver páginas, comentarios, etc., no lo son.
Si desea una variable $ node definida en una página que no sea un nodo, entonces tendrá que editar / crear la función MYTHEME_preprocess_page (& $ variables) en su archivo de plantilla theme.php.
Para evitar su error, en su archivo de plantilla, ajuste la variable $ node en un
if (isset($node)) {
// do something with $node
}
O eliminarlo por completo