Как включить комментарии для профилей пользователей?


Поскольку пользователи являются сущностями в D7, я предположил, что тип пользователя будет встроен в опцию "комментарий". Похоже, что это не так. Я просто хочу разрешить пользователям оставлять комментарии на странице профиля пользователя. Есть ли простой способ сделать это?

Author: Clive, 2011-09-19

10 answers

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

 8
Author: Nikit, 2011-09-19 07:51:48

Я не пробовал, но модуль ответа выглядит действительно хорошо.

Ответ - это ответ D7 на комментарии сущности. Он не предназначен для замены основного модуля комментариев, скорее всего, он дополняет его неспособность работать с объектами, отличными от узла.

Ответ в основном представляет собой объект, доступный для заполнения, с полями темы и тела, которые жестко закодированы в модуле и не являются полями API полей. Это потому, что это суть ответа/комментария. Объект доступен для заполнения, поэтому вы можете создать "отзыв" или что угодно, прикрепив поля к его пакетам.

 7
Author: moshe weitzman, 2016-03-24 23:23:02

В настоящее время в ядре Drupal 7 модуль комментариев по-прежнему связан с node.module. Комментарии являются сущностями, но их нельзя добавлять к сущностям, отличным от узлов.

Вы можете увидеть эту проблему, чтобы получить обновление: Отделить комментарий.модуль от узла

 5
Author: Sang Le Thanh, 2013-02-27 10:19:55

Я буду поощрять использование статусов http://drupal.org/project/statuses для стиля стены "твиттер-фейсбук". Это не объект "комментарий", но он работает довольно хорошо.

Я также посмотрел код, он хорошо написан и имеет много зацепок.

Статусы также интегрируются с: Просмотры Деятельность Флаг Правила Домен Моллом Уведомления Обмен сообщениями Патавто Услуги Точки доступа пользователей Twitter

 2
Author: rafinskipg, 2012-11-20 15:30:08

Если в случае использования каждый пользователь может прокомментировать только один раз (например, отзыв), лучшее решение, которое я нашел, - это использование модуля флага. Версия 7.3 флага теперь доступна для использования. Таким образом, вы создаете флаг "добавить комментарий" и добавляете в него текстовое поле + любые другие поля, которые вы хотите. Затем вы можете отобразить содержимое флагов в представлении. Очень гибкое, расширяемое и не требующее взлома решение.

 2
Author: Adam Harms, 2013-03-23 01:55:12

В итоге я реализовал комментарии к профилям пользователей, добавив тип контента "гостевая книга" с полем ссылки на пользователя.

Когда вы просматриваете чей-либо профиль пользователя, вы можете нажать "подписать гостевую книгу", которая ссылается на "узел/добавить/гостевую книгу?редактировать[field_guestbook_userreference][und][uid]=user123".

Модуль предварительного заполнения используется для предварительного заполнения имени пользователя в форме добавления узла "user123", и я использую css, чтобы скрыть это поле. В гостевой книге включены комментарии, позволяющие другие тоже должны прокомментировать.

Я использую блок просмотра для отображения заголовков "гостевой книги" в профиле пользователя.

 1
Author: uwe, 2012-02-03 23:05:34

Вдохновленный @Mototribe ( аналогичный вопрос здесь ), я решил его так:

Вам понадобятся: представления, панели, правила, ссылка на сущность и ссылка на сущность предварительно заполняют модули.

  1. Создайте тип контента user_comments, удалите поле тела (если вы этого не сделаете, пользователям придется ввести 2 поля: заголовок и тело). Комментарии станут заголовком узла (максимальная длина 255). Добавьте поле ссылки на сущность field_user_reference_comments.

  2. Создайте представление ПОЛЬЗОВАТЕЛЯ (имя: user_comments), добавьте связь с "ссылка на сущность". Добавьте контекстный фильтр: Идентификатор пользователя > укажите значение по умолчанию - > Идентификатор пользователя из Url.

  3. Внутренний вид состоит из 2 блоков (я сделал панели содержимого).

    • Первый блок: добавьте поле UID, перепишите результаты: <a class="" href="/node/add/user-comments?field_user_reference_comments=[uid]">Add comment</a>.
    • Второй блок: добавьте поле заголовка содержимого, используя связь. Добавьте дополнительные связи и поля по мере необходимости.
  4. Добавьте новое правило (импортируйте отсюда, обязательно следуйте синтаксису, описанному выше):

    { "rules_redirect_on_add_a_user_comment" : {
        "LABEL" : "redirect on add a user comment",
        "PLUGIN" : "reaction rule",
        "OWNER" : "rules",
        "TAGS" : [ "user account" ],
        "REQUIRES" : [ "rules" ],
        "ON" : {
          "node_insert--user_comments" : { "bundle" : "user_comments" },
          "node_update--user_comments" : { "bundle" : "user_comments" }
        },
        "DO" : [
          { "redirect" : { "url" : "users\/[node:field_user_reference_comments]" } }
        ]
      }
    }
    
  5. Включить из панелей "просмотр пользователя". Добавьте просматриваемого пользователя, добавьте Первый блок просмотров, добавьте второй блок просмотров.

  6. Теперь вы закончили; это должно сработать отлично. Создайте свое представление настолько сложным, насколько вам нужно, добавьте: поля, фильтры, сортировки и т.д. работает идеально.

 1
Author: pinueve, 2017-04-13 12:47:09

Профиль пользователя по сути является представлением; вы можете подключиться к представлению, чтобы включить комментарии.

 0
Author: karth, 2011-09-19 14:53:33

Создайте узел комментариев со всеми полями. Среди них одно поле должно относиться к типу profile2 (с использованием справочного модуля). Затем вы можете прикрепить этот узел к profile2 с помощью модуля EVA. Если будет какой-нибудь лучший ответ, дайте мне знать.

 0
Author: Sadanand Kenganal, 2013-08-21 14:24:33

Вы можете добавить элемент коллекции полей в свой профиль, а затем добавить в него произвольные поля. таким образом, пользователи могут вставлять комментарии с ним, если вы используете модуль разрешения полей и предоставляете всем пользователям разрешение на вставку комментариев. это работает правильно, я попробовал это

 0
Author: shekoufeh, 2014-03-15 14:27:04