ユーザーがD7のエンティティであるため、ユーザータイプには「コメント」オプションが組み込まれていると思いました。それはそうではないようです。ユーザーがユーザープロファイルページにコメントを残せるようにしたいだけです。それを行う簡単な方法はありますか?
ユーザーがD7のエンティティであるため、ユーザータイプには「コメント」オプションが組み込まれていると思いました。それはそうではないようです。ユーザーがユーザープロファイルページにコメントを残せるようにしたいだけです。それを行う簡単な方法はありますか?
回答:
私は試していませんが、Replyモジュールは本当によさそうです。
返信はエンティティのコメントに対するD7回答です。コアコメントモジュールを置き換えることを意図したものではなく、ノード以外のエンティティを操作できないことを補完する可能性が高いです。
返信は基本的に、サブジェクトフィールドと本文フィールドを持つフィールド化可能なエンティティであり、モジュールにハードコードされており、フィールドAPIフィールドではありません。返信・コメントの本質だからです。エンティティはフィールド化可能であるため、バンドルにフィールドをアタッチすることで、「レビュー」または好きなものを作成できます。
現在Drupal 7コアでは、コメントモジュールはまだに結合されていnode.module
ます。コメントはエンティティですが、ノード以外のエンティティには追加できません。
この問題を確認して、更新を取得できます。comment.moduleをノードから分離します。
「twitter-facebook」ウォールスタイルには、ステータスhttp://drupal.org/project/statusesの使用を推奨します。これは「コメント」エンティティではありませんが、かなりうまく機能します。
私もコードを見て、それはよく書かれていて、多くのフックがあります。
ステータスは、次のものとも統合されます。ビューアクティビティフラグルールドメインモロム通知メッセージングPathautoサービスTwitterユーザーポイント
各ユーザーが1回だけコメントできるユースケース(たとえば、レビューなど)の場合、私が見つけた最良の解決策はフラグモジュールを使用することです。Flagのバージョン7.3がフィールド可能になりました。したがって、「コメントを追加」フラグを作成し、テキストフィールドと、必要な他のフィールドを追加します。次に、フラグの内容をビューに表示できます。非常に柔軟性があり、拡張可能で、ハックのないソリューション。
最終的にユーザープロファイルにコメントを実装する方法は、ユーザー参照フィールドを持つ「guestbook」コンテンツタイプを追加することでした。
誰かのユーザープロファイルを見ると、「node / add / guestbook?edit [field_guestbook_userreference] [und] [uid] = user123」にリンクしている「sign guestbook」をクリックできます。
prepopulateモジュールは、ノード追加フォームのユーザー名に「user123」を事前に入力するために使用され、cssを使用してそのフィールドを非表示にします。ゲストブックでは、他のユーザーもコメントできるようにコメントが有効になっています。
ビューブロックを使用して、ユーザープロファイルに「ゲストブック」のタイトルを表示します。
@MotoTribe(ここで同様の質問)に触発されて、私は次のように解決しました:
必要なものは、ビュー、パネル、ルール、エンティティ参照、エンティティ参照の事前入力モジュールです。
コンテンツタイプを作成しuser_comments
、本文フィールドを削除します(作成しない場合、ユーザーはタイトルと本文の2つのフィールドを入力する必要があります)。コメントはノードタイトルになります(255最大長)。エンティティ参照フィールドを追加しますfield_user_reference_comments
。
USERビュー(名前:)を作成し、user_comments
「エンティティ参照」に関係を追加します。コンテキストフィルターを追加します。ユーザーUid>デフォルト値を指定-> UrlからのユーザーID。
内部ビューは2つのブロックを作成します(コンテンツペインを作成しました)。
<a class="" href="/drupal//node/add/user-comments?field_user_reference_comments=[uid]">Add comment</a>
。新しいルールを追加します(ここからインポートし、上記の構文に従ってください)。
{ "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]" } }
]
}
}
パネルから「ユーザービュー」を有効にします。表示されているユーザーを追加し、ビューを追加します最初のブロック、ビューを追加します2番目のブロック。
これで完了です。それはうまくいくはずです。必要に応じてビューを複雑に構築し、追加します。フィールド、フィルター、ソートなどが完璧に機能します。
すべてのフィールドを持つコメントノードを作成します。そのうちの1つのフィールドは、profile2タイプを参照する必要があります(参照モジュールを使用)。次に、EVAモジュールを使用してそのノードをprofile2に接続できます。より良い答えがあれば、私に知らせてください。