Модуль Permalinks to Nodepath (Sandbox)

Главные вкладки

Аватар пользователя S33D S33D 14 ноября 2012 в 1:03

Приветствую! Столкнулся с проблемой при попытке заставить работать простенький модуль Permalinks to Nodepath из песочницы. Все его функции - это автоматическое перенаправление со страниц с адресом /comment/111 на /node-alies#comment-111. Мне это нужно, чтобы нормально работал виджет комментариев от вконтакта.

Создал директорию /sites/all/modules/comment_redirect/, положил в нее два файла:

  1. comment_redirect.info
  2. comment_redirect.module

Содержимое первого файла:

name = Comment Redirect
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"

Второго:

<?php
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();
}

Модуль появился в админке, я его включаю и ничего не происходит - ссылки на комментарии из блока последних комментариев как открывались по старому адресу, так и продолжают идти. Хотя на сайте автора всё прекрасно отрабатывает.

Куда копать? Что я мог сделать неправильно?

Комментарии

Аватар пользователя S33D S33D 16 ноября 2012 в 13:14

Извините, что поднимаю тему, но может все-таки у кого-то есть какие-то мысли и предложения по этому поводу? Ведь проблема весьма актуальна для всех, кто использует комментарии от друпала совместно с виджетом вконтакта или фейсбука.

Мне не обязательно нужен этот модуль, интересует именно реализация этого нехитрого преобразования: автоматический редирект на /node-alies#comment-id с /comment/id. Силами веб-сервера я это сделать не могу, потому что он ничего не знает про node-alies.

Аватар пользователя 88a88 88a88 22 февраля 2013 в 13:04

Столкнулся с такой же задачей. Код так же не работает и у меня. Вывожу вьюхами просто ссылки на материалы.