2010-02-10 3 views
0

특정 노드 목록이있는 페이지를 생성하려고하지만 node_view는 빈 문자열을 반환합니다. 나는 위해서 var_dump를 추가하는 경우 ($,Drupal 6 node_view empty

function events_view($node, $teaser = false, $page = false) { 
    $node = node_prepare($node, $teaser); 

    if ($page) { 
    // TODO: Handle breadcrump 
    } 

    return $node; 
} 

지금 :

function events_upcoming() { 
    $output = ''; 
    $has_events = false; 

    $res = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = 'events' AND n.status = 1 ORDER BY n.sticky DESC, n.created DESC"), variable_get('default_nodes_main', 10)); 

    while ($n = db_fetch_object($res)) { 
    $output .= node_view(node_load($n->nid), 1); 

    $has_events = true; 
    } 

    if ($has_events) { 
    $output .= theme('pager', NULL, variable_get('default_nodes_main', 10)); 
    } 

    return $output; 
} 

hook_menu (의 일부) : hook_view의

'events/upcoming' => array(
     'title' => t('Upcoming Events'), 
     'page callback' => 'events_upcoming', 
     'access arguments' => array('access content'), 
     'type' => MENU_SUGGESTED_ITEM 
    ), 

구현

내 쿼리입니다 노드) event_view 내부에 노드가 존재하고 내가 원하는 값을 볼 수 있고, var_dump를 events_upcomi의 while 루프에 추가하면 ng 또한 쿼리에서 노드 ID를 얻습니다.

이상한 일은 localhost/events/coming를로드 할 때 호출기와 다른 것을 보지 않습니다.

blog.module을 참조로 사용했지만 여기에 무엇이 누락 되었습니까?

답변

0

여기에 패치가있는 스레드와 나와 다른 대답이 있습니다.

http://drupal.org/node/229411

당신은 당신이 node_view을 수행 할 각 지점에 node_load을 사용할 수 있지만 프로세서의 낭비 보인다.

코어 노드 모듈에 있지만 패치를 체크 아웃하십시오.