เมื่อผู้ใช้เป็นเอนทิตีใน D7 ฉันถือว่าประเภทผู้ใช้น่าจะมีอยู่ในตัวเลือก "ความคิดเห็น" ดูเหมือนจะไม่เป็นเช่นนั้น ฉันแค่ต้องการอนุญาตให้ผู้ใช้แสดงความคิดเห็นในหน้าโปรไฟล์ผู้ใช้ มีวิธีง่ายๆในการทำเช่นนั้น?
เมื่อผู้ใช้เป็นเอนทิตีใน D7 ฉันถือว่าประเภทผู้ใช้น่าจะมีอยู่ในตัวเลือก "ความคิดเห็น" ดูเหมือนจะไม่เป็นเช่นนั้น ฉันแค่ต้องการอนุญาตให้ผู้ใช้แสดงความคิดเห็นในหน้าโปรไฟล์ผู้ใช้ มีวิธีง่ายๆในการทำเช่นนั้น?
คำตอบ:
คุณสามารถใช้Profile2ที่แนบโหนดกับโปรไฟล์ผู้ใช้ดังนั้นจึงสามารถแสดงความคิดเห็นได้และจะมีลักษณะเป็นการแสดงความคิดเห็นกับผู้ใช้
ฉันยังไม่ได้ลอง แต่โมดูลตอบกลับดูดีมาก
การตอบคือคำตอบ D7 สำหรับความคิดเห็นของเอนทิตี มันไม่ได้มีวัตถุประสงค์เพื่อแทนที่โมดูลความคิดเห็นหลักมีแนวโน้มที่จะเสริมว่ามันไม่สามารถทำงานกับเอนทิตีอื่นที่ไม่ใช่โหนด
การตอบกลับนั้นเป็นเอนทิตีที่ใช้ฟิลด์ได้ซึ่งมีฟิลด์หัวเรื่องและเนื้อหาซึ่งฮาร์ดโค้ดไว้ในโมดูลและไม่ใช่ฟิลด์ฟิลด์ API นี่เป็นเพราะมันเป็นสาระสำคัญของการตอบกลับ / แสดงความคิดเห็น เอนทิตีเป็นแบบฟิลด์เพื่อให้คุณสามารถสร้าง 'ตรวจทาน' หรือสิ่งที่คุณต้องการโดยการแนบเขตข้อมูลเพื่อบันเดิล
ขณะนี้อยู่ใน Drupal 7 node.module
หลักโมดูลความคิดเห็นจะยังคงคู่กับ ความคิดเห็นเป็นเอนทิตี แต่ไม่สามารถเพิ่มไปยังเอนทิตีอื่นนอกเหนือจากโหนด
คุณสามารถเห็นปัญหานี้เพื่อรับการปรับปรุง: Decouple comment.module จากโหนด
ฉันจะสนับสนุนให้ใช้สถานะhttp://drupal.org/project/statusesสำหรับสไตล์ "twitter-facebook" บนผนัง มันไม่ใช่เอนทิตี "ความคิดเห็น" แต่ใช้งานได้ดี
ฉันดูโค้ดมันเขียนได้ดีและมีตะขอมากมาย
สถานะยังรวมกับ: มุมมองกิจกรรมการตั้งค่าสถานะกฎการแจ้งเตือนของโดเมน Mollom การส่งข้อความบริการ Pathauto บริการ Twitter ผู้ใช้
หากกรณีการใช้งานเป็นสิ่งที่ผู้ใช้แต่ละคนสามารถแสดงความคิดเห็นได้เพียงครั้งเดียว (เช่นการตรวจสอบตัวอย่าง) ทางออกที่ดีที่สุดที่ฉันพบคือใช้โมดูลการตั้งค่าสถานะ เวอร์ชั่น 7.3 ของการตั้งค่าสถานะสามารถใช้งานได้ทันที ดังนั้นคุณจึงสร้างแฟล็ก "เพิ่มความคิดเห็น" และเพิ่มฟิลด์ข้อความ + ฟิลด์อื่น ๆ ที่คุณต้องการ จากนั้นคุณสามารถแสดงเนื้อหาของธงในมุมมอง โซลูชันที่ยืดหยุ่นขยายและไม่แฮ็ค - มาก
วิธีที่ฉันสิ้นสุดการใช้ความคิดเห็นในโปรไฟล์ผู้ใช้คือการเพิ่มประเภทเนื้อหา "สมุดเยี่ยม" ที่มีเขตข้อมูลอ้างอิงผู้ใช้
เมื่อคุณดูโปรไฟล์ผู้ใช้ของใครบางคนคุณสามารถคลิกที่ "sign guestbook" ซึ่งลิงก์ไปยัง "node / add / guestbook? แก้ไข [field_guestbook_userreference] [und] [uid] = user123"
โมดูล prepopulate ใช้เพื่อเติมชื่อผู้ใช้ในแบบฟอร์มเพิ่มโหนดด้วย "user123" และฉันใช้ css เพื่อซ่อนฟิลด์นั้น สมุดเยี่ยมมีการเปิดใช้งานความคิดเห็นเพื่อให้ผู้อื่นสามารถแสดงความคิดเห็นได้เช่นกัน
ฉันใช้มุมมองบล็อกเพื่อแสดงชื่อ "สมุดเยี่ยม" บนโปรไฟล์ผู้ใช้
แรงบันดาลใจจาก @MotoTribe ( คำถามที่คล้ายกันที่นี่ ) ฉันแก้ไขมันเช่นนี้:
คุณจะต้อง: มุมมองแผงกฎการอ้างอิงเอนทิตีและเอนทิตีอ้างอิงโมดูลเอนทิตี
สร้างประเภทเนื้อหาuser_comments
ลบฟิลด์เนื้อหา (หากไม่ต้องการผู้ใช้จะต้องป้อนข้อมูล 2 ฟิลด์: ชื่อและเนื้อหา) ความคิดเห็นจะกลายเป็นชื่อโหนด (255 ความยาวสูงสุด) field_user_reference_comments
เพิ่มข้อมูลอ้างอิงนิติบุคคล
สร้างมุมมอง USER (ชื่อuser_comments
:) เพิ่มความสัมพันธ์กับ "การอ้างอิงเอนทิตี" เพิ่มตัวกรองตามบริบท: User Uid> ระบุค่าเริ่มต้น -> ID ผู้ใช้จาก Url
มุมมองภายในทำ 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]" } }
]
}
}
เปิดใช้งานจากแผงควบคุม "มุมมองผู้ใช้" เพิ่มผู้ใช้ที่กำลังดูเพิ่มมุมมองบล็อกแรกเพิ่มมุมมองบล็อกที่สอง
ตอนนี้คุณทำเสร็จแล้ว มันควรจะใช้งานได้ดี สร้างมุมมองของคุณซับซ้อนตามที่คุณต้องการเพิ่ม: ฟิลด์ตัวกรองการเรียงลำดับ ฯลฯ ทำงานได้อย่างสมบูรณ์แบบ
โปรไฟล์ผู้ใช้เป็นมุมมอง คุณสามารถขอลงในมุมมองเพื่อรวมความคิดเห็น
สร้างโหนดความคิดเห็นพร้อมฟิลด์ทั้งหมด ในหมู่พวกเขาหนึ่งฟิลด์จะต้องอ้างถึงประเภท profile2 (การใช้โมดูลอ้างอิง) จากนั้นคุณสามารถแนบโหนดนั้นกับ profile2 โดยใช้โมดูล EVA หากคำตอบที่ดีกว่าให้ฉันรู้
คุณสามารถเพิ่มรายการคอลเล็กชันลงในโปรไฟล์ของคุณจากนั้นเพิ่มฟิลด์ใด ๆ เพื่อให้ผู้ใช้สามารถแทรกความคิดเห็นได้หากคุณใช้โมดูลอนุญาตฟิลด์และให้สิทธิ์ผู้ใช้ในการแทรกความคิดเห็น มันใช้งานได้ดีฉันลองใช้ดู