Приветствую! Столкнулся с проблемой при попытке заставить работать простенький модуль Permalinks to Nodepath из песочницы. Все его функции - это автоматическое перенаправление со страниц с адресом /comment/111 на /node-alies#comment-111. Мне это нужно, чтобы нормально работал виджет комментариев от вконтакта.
Создал директорию /sites/all/modules/comment_redirect/, положил в нее два файла:
- comment_redirect.info
- comment_redirect.module
Содержимое первого файла:
description = "It redirect comments, nothing more"
package = Other
core = 7.x
files[] = comment_redirect.module
; Information added by drupal.org packaging script on 2012-02-01
version = "7.x-1.0"
core = "7.x"
project = "comment_redirect"
datestamp = "1328109047"
Второго:
function permalinks_to_nodepath_menu_alter(&$items) {
$items['comment/%']['page callback'] = 'permalinks_to_nodepath_commentpermalink';
}
function permalinks_to_nodepath_commentpermalink($cid) {
if (($comment = comment_load($cid)) && ($node = node_load($comment->nid))) {
// Find the current display page for this comment.
$page = comment_get_display_page($comment->cid, $node->type);
// Rather than setting menu_executive_active_handler and changing $_GET values, we redirectto the actual node URL with fragments and pager set.
if ($page > 0) {
drupal_goto("node/$comment->nid", array('fragment'=>"comment-$comment->cid",'query'=>array('page'=>$page)), 301);
}
else{
drupal_goto("node/$comment->nid", array('fragment'=>"comment-$comment->cid"), 301);
}
}
drupal_not_found();
}
Модуль появился в админке, я его включаю и ничего не происходит - ссылки на комментарии из блока последних комментариев как открывались по старому адресу, так и продолжают идти. Хотя на сайте автора всё прекрасно отрабатывает.
Куда копать? Что я мог сделать неправильно?
Комментарии
Извините, что поднимаю тему, но может все-таки у кого-то есть какие-то мысли и предложения по этому поводу? Ведь проблема весьма актуальна для всех, кто использует комментарии от друпала совместно с виджетом вконтакта или фейсбука.
Мне не обязательно нужен этот модуль, интересует именно реализация этого нехитрого преобразования: автоматический редирект на /node-alies#comment-id с /comment/id. Силами веб-сервера я это сделать не могу, потому что он ничего не знает про node-alies.
Столкнулся с такой же задачей. Код так же не работает и у меня. Вывожу вьюхами просто ссылки на материалы.