Работа с $links через hook_link_alter

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

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 29 июня 2009 в 1:07

Здравствуйте, уважаемые коллеги!

Я решил плотнее заняться изучением работы с $links, но неожиданно столкнулся с рядом проблем. Так как я использую Advanced Forum, мне захотелось скрыть от пользователя возможность использования кнопки «Ответить» без использования Flat Comments и, соответственно, без обнуления идентификатора родителя. Вместо неё я решил повесить яваскрипт для цитирования (спасибо камраду penexe, который благородно сам скрипт мне подарил).

Если я правильно понял, для этого мне надо использовать hook_link_alter(). Ссылку «Ответить» содержит $links['comment_reply'], который я попытался переопределить следующим образом:

<?php    $links['comment_reply'] = array(
      
'title' => t('reply'),
      
'attributes' => array('title' => t('select text and click here to quote'), 'onmouseover' => 'getText(\''.$account->name.'\');''onclick' => 'insertQuote(); return false;'),
    );
?>

В принципе, это вариант срабатывает — ссылка «Ответить» для каждого комментария подменяется кодом. Но проблема в том, что объект $account, судя по всему, относится к ноде, а не к комментарию, поэтому $account->name к исходнике страницы даёт мне ник пользователя создавшего ноду, а не добавившего комментарий. Я не могу понять, куда мне смотреть в поисках имени автора комментария, ибо $node->user и $comment->user также не дают результата. Подскажите, пожалуйста, что я просмотрел.
Спасибо.

Комментарии

Аватар пользователя Mr.Alinaki@drupal.org Mr.Alinaki@drup... 29 июня 2009 в 12:42

Для переопределения ссылок в комментариях при помощи hook_link_alter требуется установить патч. Я его ставил ради аяксовых комментариев и модуля Comment Edited. Патч от уважаемого neochief Smile Работает отменно.