【问题标题】:Drupal Object of class stdClass could not be converted to int类 stdClass 的 Drupal 对象无法转换为 int
【发布时间】:2015-09-10 21:05:17
【问题描述】:

您好,我有以下 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 check_access() (第 19 行 /home/pagergbr/public_html/pagerail/sites/all/modules/ajax_privacy/ajax_privacy.module)。

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

【问题讨论】:

    标签: drupal drupal-7


    【解决方案1】:

    您的访问回调将 $node 对象作为参数,试试这个:

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

    【讨论】:

    • 试过但现在得到错误:注意:未定义的属性:stdClass::$id
    • 抱歉,有一个错字,试试 $node->nid
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    • 2011-04-06
    相关资源
    最近更新 更多