사용자가 D7의 엔티티 인 경우 사용자 유형에 "주석"옵션이 내장되어 있다고 가정했습니다. 그것은 사실이 아닌 것 같습니다. 사용자가 사용자 프로필 페이지에 의견을 남기도록 허용하고 싶습니다. 그렇게하는 간단한 방법이 있습니까?
사용자가 D7의 엔티티 인 경우 사용자 유형에 "주석"옵션이 내장되어 있다고 가정했습니다. 그것은 사실이 아닌 것 같습니다. 사용자가 사용자 프로필 페이지에 의견을 남기도록 허용하고 싶습니다. 그렇게하는 간단한 방법이 있습니까?
답변:
노드를 사용자 프로파일에 연결 하는 Profile2 를 사용 하면 주석을 달 수 있으며 사용자에게 주석을 달 수 있습니다.
나는 그것을 시도하지 않았지만 회신 모듈 은 정말 좋아 보인다.
회신은 엔티티 댓글에 대한 D7 답변입니다. 핵심 주석 모듈을 대체하기위한 것이 아니며 노드 이외의 다른 엔티티와 작업 할 수없는 것을 보완합니다.
응답은 기본적으로 제목과 본문 필드가 모듈로 하드 코딩되고 필드 API 필드가 아닌 필드 가능한 엔티티입니다. 답장 / 코멘트의 본질이기 때문입니다. 엔티티는 필드 가능하므로 필드를 번들에 첨부하여 '검토'또는 원하는 것을 만들 수 있습니다.
현재 Drupal 7 코어에서 주석 모듈은 여전히에 연결되어 node.module
있습니다. 주석은 엔티티이지만 노드 이외의 엔티티에는 추가 할 수 없습니다.
업데이트를 얻으려면이 문제를 볼 수 있습니다 : 노드에서 comment.module 분리
"twitter-facebook"월 스타일에 http://drupal.org/project/statuses 상태를 사용하도록 권장합니다 . "코멘트"엔티티는 아니지만 꽤 잘 작동합니다.
나는 또한 코드를 보았고 잘 작성되었으며 많은 고리가 있습니다.
상태는 다음과도 통합됩니다.보기 활동 플래그 규칙 도메인 몰롬 알림 메시징 경로 자동 서비스 트위터 사용자 포인트
유스 케이스가 각 사용자가 한 번만 의견을 작성할 수있는 사례 인 경우 (예 : 리뷰와 같은) 내가 찾은 최선의 해결책은 플래그 모듈을 사용하는 것입니다. Flag 버전 7.3은 이제 필드 가능합니다. 따라서 "덧글 추가"플래그를 만들고 텍스트 필드 + 원하는 다른 필드를 추가하십시오. 그런 다음 플래그의 내용을보기에 표시 할 수 있습니다. 매우 유연하고 확장 가능하며 해킹되지 않은 솔루션입니다.
사용자 프로필에 대한 주석을 구현 한 방법은 사용자 참조 필드가있는 "게스트 북"콘텐츠 유형을 추가하는 것이 었습니다.
누군가의 사용자 프로필을 볼 때 "node / add / guestbook? edit [field_guestbook_userreference] [und] [uid] = user123"에 링크되는 "방명록 서명"을 클릭 할 수 있습니다.
prepopulate 모듈은 "user123"으로 노드 추가 양식의 사용자 이름을 미리 채우는 데 사용되며 css를 사용하여 해당 필드를 숨 깁니다. 방명록에는 다른 사람도 의견을 제시 할 수있는 의견이 있습니다.
뷰 블록을 사용하여 사용자 프로필에 "게스트 북"제목을 표시합니다.
@MotoTribe ( 비슷한 질문 )에서 영감을 얻어 다음과 같이 해결했습니다.
뷰, 패널, 규칙, 엔터티 참조 및 엔터티 참조 미리 채우기 모듈이 필요합니다.
컨텐츠 유형 user_comments
을 작성하고 본문 필드를 제거하십시오 (그렇지 않으면 사용자는 제목과 본문의 두 필드를 입력해야합니다). 주석은 노드 제목이됩니다 (255 최대 길이). 엔터티 참조 필드를 추가하십시오 field_user_reference_comments
.
USER보기 (이름 user_comments
:)를 작성하고 "엔티티 참조"에 관계를 추가하십시오. 상황 별 필터 추가 : User Uid> 기본값 제공-> User ID from 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 유형 (참조 모듈 사용)을 참조해야합니다. 그런 다음 EVA 모듈을 사용하여 해당 노드를 profile2에 연결할 수 있습니다. 더 나은 답변이 있으면 알려주세요.