drupal menu_get_object ошибка - PullRequest
       14

drupal menu_get_object ошибка

0 голосов
/ 01 декабря 2011

Я использую menu_get_object () в моем модуле функции hook_nodeapi. Из-за этого кода я получаю следующую ошибку:

Ошибка 324 (net :: ERR_EMPTY_RESPONSE): сервер закрыл соединение без отправки каких-либо данных.

Код выглядит следующим образом:

 function mymodule_nodeapi(&$node, $op, $a3, $a4){    
    $nodex = menu_get_object();
    drupal_set_message("Currnet Node(test) : {$nodex->nid}");
 }

Может кто-нибудь помочь мне понять, что происходит и как решить эту проблему, пожалуйста?

1 Ответ

1 голос
/ 01 декабря 2011

Я думаю, это потому, что $node передается по ссылке на функцию hook_nodeapi(), и вы пытаетесь переназначить ее, используя menu_get_object().

Вы должны использовать другое имя для второго узла, который вы хотите загрузить, например,

function mymodule_nodeapi(&$node, $op, $a3, $a4){    
  $other_node = menu_get_object();
  drupal_set_message("Currnet Node(test) : {$other_node->nid}");
}

Или, если вы ищете узел, на который ссылается функция nodeapi, просто используйте объект $node, переданный в функцию.

UPDATE

Я думаю, что это будет делать то, что вы пытаетесь сделать:

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);
  }
}
...