Здравствуйте, уважаемые коллеги!
Я решил плотнее заняться изучением работы с $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 также не дают результата. Подскажите, пожалуйста, что я просмотрел.
Спасибо.
Комментарии
Для переопределения ссылок в комментариях при помощи hook_link_alter требуется установить патч. Я его ставил ради аяксовых комментариев и модуля Comment Edited. Патч от уважаемого neochief Работает отменно.
Используйте глобальную переменную $user:
<?php global $user;
print_r($user);?>