2011-02-09 3 views
1

몇 가지 기본 포럼 정보를보고하기 위해 Drupal에서 페이지를 만들고 싶습니다. 나는 뷰를 사용할 줄 알았지 만 뷰는 뷰 당 하나의 "엔티티"유형을 설정할 수 있지만 포럼 주제는 노드와 주석 (일명 주제 및 응답)으로 구성됩니다.Drupal 포럼보고/분석보기를 만드는 방법은 무엇입니까?

이상적으로, 모든 포럼 노드와 설명을 가능한 한 단일 표 (날짜순)와 함께 나열한 단일보기와 함께 둘을 모두 합한 것이 좋습니다. 조회수를 사용하여이를 수행 할 수있는 방법이 있습니까?

업데이트 : 내가 무엇을 찾고는 다음과 같이이다 :

------------------------------------------------------- 
| User | Post      | Type | Date | 
------------------------------------------------------- 
| amy | post text appears here | post | 1/5/01 | 
| bob | comment text appears here | comment | 1/5/01 | 
| amy | another comment here  | comment | 1/5/01 | 
| cid | another post appears here | post | 1/4/01 | 
| dave | yet another comment here | comment | 1/4/01 | 
------------------------------------------------------- 
total posts + comments: 5 

답변

0

그것은 Tracker 2 module 내가 필요한 것을 충분히 제공 밝혀 노드의
수가 많은 경우는 실제로 두 개의 쿼리를 실행 한 후 PHP에서 함께 에게 그 패킷을 조작 빠를 수 있습니다.

1

당신이 정말로 원하는 것을 확실하지. 노드 + 주석 수나 노드 및 주석을 같은 레벨에 표시 할 수 있지만 모두 별도이므로 총 수는 없습니다. 또는 각 주석을 해당 스레드의 주석 수와 함께 구분하여 표시 하시겠습니까?

후자의 경우 사소하지 않을 수 있습니다.

기본적으로 UNION Select 쿼리를 만들고 노드와 주석 테이블을 쿼리 할 수 ​​있습니다. 다음과 같이 표시 될 수 있습니다.

(SELECT 'node' AS type, n.nid as id, n.title as title, nncs.comment_count as comment_count, n.created as timestamp FROM {node} n INNER JOIN {node_comment_statistics} nncs ON n.nid = nncs.nid) 
UNION 
(SELECT 'comment' AS type, c.cid as id, c.subject as title, cncs.comment_count as comment_count, c.timestamp as timestamp FROM {comments} c INNER JOIN {node_comment_statistics} cncs ON c.nid = cncs.nid) 
ORDER BY timestamp DESC LIMIT 10; 

다음을 포함하는 결과가 반환됩니다. node/comment | 이드 | 제목 | comment_count | 타임 스탬프.

UNION에 대한 자세한 내용은 http://dev.mysql.com/doc/refman/5.1/en/union.html을 참조하십시오.

그런 다음 테마로 사용할 수 있습니다.

힌트 :

  • 당신이 더 많은 데이터를 필요로하는 경우 중 하나를 확장 쿼리 또는 사용 노드/comment_load
  • 당신은 또한 두 번째 쿼리에 {노드}에 가입하고 대신 노드 제목 를 사용할 수
  • 덧글 제목
  • 해당 쿼리는 일 것입니다. 왜냐하면 사용자가 유니온을 가지고 있기 때문에 항상 파일 번호 이 있기 때문입니다. 당신은/의견
+0

명확하게 설명 할 수 있도록 업데이트를 추가했습니다. Views가 옵션이 아니라고 말하는 것 같습니다. 옳은? –

관련 문제