类stdClass的Drupal对象无法转换为int

类stdClass的Drupal对象无法转换为int,drupal,drupal-7,Drupal,Drupal 7,嗨,我有以下drupal模块 /** * Implementation of hook_menu_alter(). * * @param array $items * Menu items keyed by path. */ function ajax_privacy_menu_alter(&$items) { $items['node/%']['access callback'] = 'check_access'; $items['node/%']['access arguments

嗨,我有以下drupal模块

/**
* Implementation of hook_menu_alter().
*
* @param array $items
* Menu items keyed by path.
*/
function ajax_privacy_menu_alter(&$items) {

$items['node/%']['access callback'] = 'check_access';
$items['node/%']['access arguments'] = array(1);

}

function check_access($node_id)
{

if($node_id!=29)
return TRUE;
else
return FALSE;
}
如果我键入node/29,它将按预期返回拒绝访问消息 但是对于其他节点,例如:node/24,我得到以下错误

注意:类stdClass的对象在中无法转换为int 检查的接入线19 /home/pagergbr/public_html/pagerail/sites/all/modules/ajax_privacy/ajax_privacy.module


我的站点中的所有节点都与node/24一起显示。请帮助

您的access回调获取$node对象作为参数,请尝试以下操作:

function check_access($node) {
  if ($node->nid != 29) {
    ...
  }
}

尝试过,但现在出现错误:注意:未定义属性:stdClass::$idmy抱歉,输入错误,请尝试使用$node->nid