2014-12-13 1 views
-1

내 기능 내의 아무 것도 실행되지 않는 것 같습니다.hook_menu 모듈은 내가 뭘 잘못하고 있는지를 문제시합니까?

여기에 아이디어가 있습니까? 나는 여러 hook_menu() 질문을 읽고 내 코드가 제대로 포맷 된 것 같습니다. $ 항목을 호출하는 여러 가지 방법을 시도했습니다. 어떤 도움이라도 대단히 감사하겠습니다. 이 doesnt는 전혀 달리는 것처럼 보인다. DB 쿼리를 콜백 함수로 실행해야합니까? 그렇다면 어떻게해야합니까? 당신은

function foodjournalmenuitem_menu() { 
print "TEST"; 
global $user; 
$items = array(); 
$query = db_select('node', 'n'); 
$query->condition('n.type', 'my_daily_food_page', '=') 
->condition('n.uid', $user->uid, '=') 
->fields('n', array('nid', 'title', 'uid', 'created')) 
->range(0, 50) 
->orderBy('n.created', 'DESC'); 

if ($query->execute()->fetchObject()) { 
$result = $query->execute()->fetchObject(); 
if ($result->created) { 
    $created = $result->created; 
    $path = drupal_lookup_path('alias',"node/".$result->nid); 
    $now= time(); 
    $hourDifference = round(($now- $created)/3600, 1); 

    // if ($hourDifference >= 9) { 
    // $output = l(t('Click Here to Create Today\'s Daily Food Page'), 'node/add/my-daily-food-page'); 
    // print "<span id='add-foodpage'>".$output."</span>"; 
    // } else { 
    // $link = "" . l("Click Here To Update Today's Daily Food Page", 'node/' . $results[0]->nid . '/edit') . " "; 
    // print "<span id='add-foodpage'>".$link."</span>"; 
    // } 

    $createdDay = date("d", $created); 
    $createdMonth = date("m", $created); 
    $createdYear = date("Y", $created); 
    $createdHour = date("H", $created); 

    $nowDay = date("d", $now); 
    $nowMonth = date("m", $now); 
    $nowYear = date("Y", $now); 
    $nowHour = date("H", $now); 

    if ($createdDay != $nowDay || $createdMonth != $nowMonth || $createdYear != $nowYear) { 
    $items['node/add/my-daily-food-page'] = array(
     'title' => 'Todays\'s Food Journal', 
     'weight' => 8, 
     'type' => MENU_NORMAL_ITEM, 
     'menu_name' => 'main-menu', 
     'access callback' => TRUE, 
     'access arguments' => array('access content'), 
     'page callback' => 'drupal_goto', 
     'page arguments' => array('node/add/my-daily-food-page'), 
    ); 

    return $items; 
    } 
    else { 
    $items['node/' . $result->nid . '/edit'] = array(
     'title' => 'Todays\'s Food Journal', 
     'weight' => 8, 
     'type' => MENU_NORMAL_ITEM, 
     'menu_name' => 'main-menu', 
     'access callback' => TRUE, 
     'access arguments' => array('access content'), 
     'page callback' => 'drupal_goto', 
     'page arguments' => array('node/' . $result->nid . '/edit'), 
    ); 

    return $items; 
    } 
    } 
    else { 
    $items['node/add/my-daily-food-page'] = array(
     'title' => 'Todays\'s Food Journal', 
     'weight' => 8, 
     'type' => MENU_NORMAL_ITEM, 
     'menu_name' => 'main-menu', 
     'access callback' => TRUE, 
     'access arguments' => array('access content'), 
     'page callback' => 'drupal_goto', 
     'page arguments' => array('node/add/my-daily-food-page'), 
    ); 

    return $items; 
    } 
    } 
    else { 
    $items['node/add/my-daily-food-page'] = array(
     'title' => 'Todays\'s Food Journal', 
     'weight' => 8, 
     'type' => MENU_NORMAL_ITEM, 
     'menu_name' => 'main-menu', 
     'access callback' => TRUE, 
     'access arguments' => array('access content'), 
     'page callback' => 'drupal_goto', 
     'page arguments' => array('node/add/my-daily-food-page'), 
    ); 

    return $items; 
    } 
} 
?> 

답변

0

당신의 error_log를 사용하여 아파치 로그 파일에 출력을 볼 수 있습니다 .... 단지 쉬울 것이다 기존 메뉴에 링크를 추가 생각할 것입니다.

또는 drupal의 watchdog을 사용하고 admin/reports/dblog에서 출력을 볼 수 있지만 "데이터베이스 로깅"모듈이 활성화되어 있는지도 확인해야합니다.

어디서 drupal_lookup_path 값을 사용하는지 알지 못합니다.

또한이 코드를 변경하는 것이 좋습니다 :

if ($query->execute()->fetchObject()) { 
$result = $query->execute()->fetchObject(); 

에 :

$result = $query->execute()->fetchObject(); 
if ($result) { 
+0

영업 이익도 있기 때문에 구문 오류로 실행할 수 없습니다 보여주는 코드입니다. ':)' – kiamlaluno

관련 문제