Проблема известная, тянущаяся ещё с четвёртой версии.
Суть: при использовании на сайте блока "последние комментарии" (встроенного или views), когда настроен пейджер и задано количество комментариев на страницу, то, если комментарии попадают на вторую и последующую страницы, то ссылка ведёт на саму ноду, а не на, собственно, комментарий.
Пример: у есть нода site.com/node/1, настройка пейджера - пять комментариев на страницу. Для первых пяти комментариев всё корректно, но для шестого ссылка будет http://site.com/node/1#comment-6 (хотя, корректная должна быть http://site.com/node/1?page=1#comment-6).
Внятного решения этой проблемы не существовало до недавних пор. Были достаточно корявые и не всегда работающие способы исправить это через javascript или патчами ядра.
Сейчас, наконец то, от этого бага на "шестёрке" удалось окончательно избавиться с помощью модуля Permalink (и патча к нему).
http://drupal.org/project/permalink
Этот модуль добавляет постоянные ссылки на каждый из комментариев вида:
http://site.com/comment/100#comment-100
Дополнительно к модулю необходимо скачать патч.
Этот патч позволяет views использовать постоянные ссылки на комментарии.
Скачиваем модуль, распаковываем, скачиваем патч (он состоит из двух частей - собственно патча и дополнительного файла в директории /includes). Включаем. После этого остаётся только настроить стандартный view под названием comments_recent.
Два замечания:
1) Permalinks не очень хорошо работает, если комментарии имеют сложную древовидную иерархию. Эту проблему решает известный давно модуль flatcomments.
2) Модуль, фактически, при каждом создании комментария генерирует ещё один синоним для ноды. Не очень хорошая ситуация для поисковиков. Поэтому, в robots.txt советую добавить строчку:
Disallow: /comment/
Или привести к этому виду существующую там строчку
Disallow: /comment/reply/
Также, в настройках модуля есть возможность добавлять к ссылке дополнительные rel (noindex, nofollow), но, почитав ряд публикаций, я решил эти настройки отключить.
Надеюсь, это будет вам полезным.
Комментарии
Ну тут тоже костыли, модуль + 2 патча.
Два модуля и один патч, это раз. Второй модуль не всегда обязателен.
Решение, в отличие от предыдущих, универсальное и работает для любой конфигурации, это два.
Окончательно друпал избавится от этого бага только в семёрке - тем же способом, пермалинком на комментарии. Советы по robots.txt при этом для 7 даются те же, это три.
Спасибо за инфу
Такая отврательная дырка эта проблема с комментами... Убогость...
Спасибо за инфо - придётся заморочиться...
Хороший пост!
А нет идеи, реально ли на основе этого во view, основанном на нодах, сделать ссылку на последний непрочитанный комментарий?
спс.
Спасибо за простое и понятное решение!
это решение относится к нодам кликая на которую вылезал бы последний комент. а не первый на первой странийце
мда, надо разбираться)