Link de menú apunte al último nodo de un cierto Type

Events happening in the community are now at Drupal community events on www.drupal.org.
clcanela's picture

Les comparto esta pequeña función que escribí para poder hacer que el link de un elemento del menú (en general cualquier link) cargue el último nodo de un cierto tipo.
Esto por ejemplo cuando no tienen una vista que muestre todos los nodos de un tipo X y quieren que el link del menú que debe cargar todos esos nodos unicamente cargue el último nodo.
Una buena solución es usar una Page de Views que cargue únicamente el último nodo, pero si no se quiere utilizar Views y que el link enlace directo al node, esta función podría ayudar a algunos.

/**
* Gets the url to the las generated node of a given type. If no type is given, it defaults to 'article'.
* @param String $type
* @return String url to the node
*/
function linkUltimoNodo($type='article') {
    // Drupal 7
    $tipo = (!empty($type))?$type:'article';
    $nid=0;
    $result = db_query('SELECT n.nid FROM {node} n WHERE n.type = :type AND status = 1 ORDER BY n.created DESC LIMIT 1', array(':type' => $tipo));
//Obtener el object node
    foreach ($result as $record) {
        // Perform operations on $record->title, etc. here.
        // in this example we just get the nid
        $nid= $record->nid;
    }
    //We let "url" handle the path aliasing and return that result
    return url("node/$nid");
}

Como verán con db_query obtengo el id del último node publicado de cierto tipo (si no se proporciona un tipo, se utiliza 'article' por defecto) y con el id utilizando la función url de drupal para generar el link al nodo y se encargue del Path-Alias en caso de haberlo.

Para usarlo recordar agregar la función a su template.php

Espero le sirva a alguien esta mi primera aportación al grupo de México.

Saludos!

México

Group categories

Grupos locales

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: