Есть для Drupal модуль Vote Up/Down, который позволяет голосовать пользователям за определенный контент и комментарии.
Для моего сайта голосовать за комментарии — это лишнее, к тому же дополнительная нагрузка. Поэтому из этого модуля оставил возможность голосовать за выбранные типы содержимого.
Не логичными оказались две вещи:
1. Виджет для голосования нельзя вывести в нужном месте, поэтому запихнул в нужное место только через css.
2. Автор материала может поставить себе плюс.
Для решения задачи понадобиться всего несколько правок. Для начала создаем в папке с темой файл widget.php, наполняем его содержимым из файла www\sites\all\modules\vote_up_down\widgets\updown\widget.tpl.php
Находим в самом начале кусок:
<div class="updown-score"> <span class="updown-current-score"><?php print $unsigned_points; ?></span> <?php print $vote_label; ?> </div> |
Этот див выводит текущий рейтинг материала. Перед закрывающимся дивом вставляем следующий код:
<? global $user; $node = node_load($content_id); if ($user->uid==$node->uid) $show_links = 0; ?> |
Чистим кеш и проверяем работоспособность. Теперь если пользователь открывает свой материал, он видит только его рейтинг, что нам и требовалось.
А как код будет выглядеть в случае c комментариями, а не с нодами?
Не пробовал. Мне этого не нужно было.
Добрый день! Подскажите, пожалуйста, изображение какого виджета для Друпал у Вас использовано для картинки материала?
Никакого. Сам рисовал.
Спасибо за ответ.