как перенаправить узел /% узел на пользовательскую страницу в drupal - PullRequest
1 голос
/ 17 марта 2011

Я хочу перенаправить страницу узла /% узла одного типа контента на связанный с ним узел другого типа контента / страницу узла%

Ответы [ 3 ]

5 голосов
/ 17 марта 2011

Используя hook_menu_alter(), измените обратный вызов страницы для node/%node. В обратном вызове вашей страницы проверьте тип узла, чтобы вызвать node_page_view на узле или перенаправить на указанный узел.

MODULE_menu_alter(&$items) {
  $items['node/%node']['page callback'] = 'MODULE_node_page_view';
}

MODULE_node_page_view($node) {
  if ($node->type == MODULE_NODE_TYPE) {
    $referenced_node = MODULE_get_related_node($node);
    drupal_goto('node/'. $referenced_node->nid);
  }
  else {
    return node_page_view($node);
  }
}
2 голосов
/ 17 марта 2011

Функция для перенаправления: drupal_goto().

Например, вы можете сделать это, внедрив hook_init() в пользовательском модуле.путь - это узел / что-то, загрузите узел и, если это тип X, перенаправьте.

0 голосов
/ 18 марта 2011

Это также можно сделать, поместив <?php drupal_goto($related_url); ?> в node-yourcontenttype.tpl.php в папке вашей темы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...