Php 挂钩菜单模块问题我做错了什么?

Php 挂钩菜单模块问题我做错了什么?,php,drupal,hook-menu,Php,Drupal,Hook Menu,我的函数中似乎没有运行任何东西 有什么想法吗?我已经阅读了多个hook_menu()问题,我的代码似乎格式正确。我尝试了许多调用$items的不同方法。任何帮助都将不胜感激。这似乎根本不起作用。我是否需要将DB查询作为回调函数运行?如果是,我该怎么做?你可能认为在现有菜单中添加一个链接会很容易 function foodjournalmenuitem_menu() { print "TEST"; global $user; $items = array(); $query = db_s

我的函数中似乎没有运行任何东西

有什么想法吗?我已经阅读了多个hook_menu()问题,我的代码似乎格式正确。我尝试了许多调用$items的不同方法。任何帮助都将不胜感激。这似乎根本不起作用。我是否需要将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;
  }
}
?>
函数foodjournalmenuitem\u菜单(){
打印“测试”;
全球$用户;
$items=array();
$query=db_select('node','n');
$query->condition('n.type','my\u daily\u food\u page','='))
->条件('n.uid',$user->uid',=')
->字段('n',数组('nid','title','uid','created'))
->范围(0,50)
->orderBy('n.created','DESC');
如果($query->execute()->fetchObject()){
$result=$query->execute()->fetchObject();
如果($result->created){
$created=$result->created;
$path=drupal\u lookup\u path('alias','node/“$result->nid);
$now=时间();
$hourDifference=round($now-$created)/3600,1);
//如果($hourDifference>=9){
//$output=l(t(‘单击此处创建今天的每日食品页面’),‘node/add/my Daily Food Page’);
//打印“$output.”;
//}其他{
//$link=“”.l(“单击此处更新今天的每日食品页面,'node/'。$results[0]->nid./edit')”;
//打印“$link.”;
// }
$createdDay=日期(“d”,$created);
$createdMonth=日期(“m”,$created);
$createdYear=日期(“Y”,$created);
$createdHour=日期(“H”,$created);
$nowDay=日期(“d”,即$now);
$NOWMOUNT=日期(“m”,即$now);
$nowYear=日期(“Y”,即$now);
$nowHour=日期(“H”,即$now);
如果($createdDay!=$nowDay | |$createdMonth!=$NowdMonth | |$createdYear!=$nowYear){
$items['node/add/my daily food page']=数组(
“标题”=>“今日食品杂志”,
“重量”=>8,
“键入”=>菜单项\u正常\u项,
“菜单名称”=>“主菜单”,
“访问回调”=>TRUE,
“访问参数”=>数组(“访问内容”),
“页面回调”=>“drupal_goto”,
“页面参数”=>array('node/add/my daily food page'),
);
退回$items;
}
否则{
$items['node/'.$result->nid./edit']=array(
“标题”=>“今日食品杂志”,
“重量”=>8,
“键入”=>菜单项\u正常\u项,
“菜单名称”=>“主菜单”,
“访问回调”=>TRUE,
“访问参数”=>数组(“访问内容”),
“页面回调”=>“drupal_goto”,
'页面参数'=>数组('node/'.$result->nid./edit'),
);
退回$items;
}
}
否则{
$items['node/add/my daily food page']=数组(
“标题”=>“今日食品杂志”,
“重量”=>8,
“键入”=>菜单项\u正常\u项,
“菜单名称”=>“主菜单”,
“访问回调”=>TRUE,
“访问参数”=>数组(“访问内容”),
“页面回调”=>“drupal_goto”,
“页面参数”=>array('node/add/my daily food page'),
);
退回$items;
}
}
否则{
$items['node/add/my daily food page']=数组(
“标题”=>“今日食品杂志”,
“重量”=>8,
“键入”=>菜单项\u正常\u项,
“菜单名称”=>“主菜单”,
“访问回调”=>TRUE,
“访问参数”=>数组(“访问内容”),
“页面回调”=>“drupal_goto”,
“页面参数”=>array('node/add/my daily food page'),
);
退回$items;
}
}
?>

您可以使用错误日志并在httpd日志文件中查看输出

或者您可以使用drupal的看门狗并在admin/reports/dblog下查看输出,但您还需要确保启用了模块“数据库日志记录”

我看不出在哪里使用drupal\u lookup\u path的值

我还建议更改此代码:

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


由于语法错误,OP显示的代码甚至无法运行<代码>:)
$result = $query->execute()->fetchObject();
if ($result) {