Php Drupal菜单\u获取\u对象错误(服务器关闭了连接>;而未发送任何数据)
我正在模块hook\u nodeapi函数中使用menu\u get\u object()。由于该代码,我得到以下错误: 错误324(net::ERR_EMPTY_RESPONSE):服务器关闭了连接 不发送任何数据 代码如下:Php Drupal菜单\u获取\u对象错误(服务器关闭了连接>;而未发送任何数据),php,drupal,drupal-6,module,Php,Drupal,Drupal 6,Module,我正在模块hook\u nodeapi函数中使用menu\u get\u object()。由于该代码,我得到以下错误: 错误324(net::ERR_EMPTY_RESPONSE):服务器关闭了连接 不发送任何数据 代码如下: function mymodule_nodeapi(&$node, $op, $a3, $a4){ $nodex = menu_get_object(); drupal_set_message("Currnet Node(te
function mymodule_nodeapi(&$node, $op, $a3, $a4){
$nodex = menu_get_object();
drupal_set_message("Currnet Node(test) : {$nodex->nid}");
}
如何解决此问题?我认为这是因为
$node
是通过引用hook\u nodeapi()
函数传入的,您试图使用菜单\u get\u object()
重新分配它
您应该为要加载的第二个节点使用不同的名称,例如
function mymodule_nodeapi(&$node, $op, $a3, $a4){
$other_node = menu_get_object();
drupal_set_message("Currnet Node(test) : {$other_node->nid}");
}
或者,如果要查找nodeapi
函数所引用的节点,只需使用传递到函数中的$node
对象即可
更新
我想这会做你想做的事:
function mymodule_nodeapi(&$node, $op, $a3, $a4){
// If this call to nodeapi is for the currently visited node page
// $a3 contains a boolean indicating whether the view mode is teaser of full.
if ($op == 'view' && !$a3) {
drupal_set_message('Current Node : ' . $node->nid);
}
}
非常感谢。变量名肯定是个问题,我已经更正了我的代码和上面的代码片段。但不幸的是,我还是犯了同样的错误。函数应该返回当前正在访问的节点。当我尝试使用参数列表中的$node时,它会打印多个$node->nid。例如,它们是按视图列出的页面上的所有节点。非常感谢您完成了此任务。我能打扰你解释一下吗。我当然不清楚参数列表中的函数$a3和$a4是什么。如果能给我一个简短的解释,我将不胜感激。无论如何谢谢你!猜测一下:在
menu\u get\u object()。对于每个特定的$op
:)您是否可以帮助我解决类似的问题-