display a node as a menu callback

  1. function mymodule_menu() {
  2.   if ($may_cache) {
  3.         $items[] = array(
  4.           'path' => 'mypath',
  5.           'callback' => 'mymodule_mycallback',
  6.           'access' => user_access('access content'),
  7.           'type' => MENU_CALLBACK,
  8.         );
  9.       }
  10.     }
  11.   return $items;
  12. }
  13.  
  14. function mymodule_mycallback() {
  15.   // calculate $nid
  16.  
  17.   if ($nid) {
  18.     $_GET['q'] = drupal_get_normal_path('node/'. $nid);
  19.     menu_set_active_item($_GET['q']);
  20.     return node_show(node_load($nid), NULL);
  21.   }
  22. }