2010-02-27 8 views
5

Drupal에서 리포트를 작성하는 "올바른 방법"은 무엇입니까? 나는보기를 사용하고 싶었지만 운이별로 없다. 내 목표는 세 개의 필드가 포함 된 행 테이블을 만드는 것입니다 : 사용자 이름, 위치, 자원 봉사 시간의 합계. 이 파트가 작동하면 위치 및 날짜에 대한 필터를 표시 할 계획입니다.Drupal에서 사용자 정의 리포트를 작성하는 방법

보기 Calc에서는 하나의 필드로만 그룹화 할 수 있습니다. 저는 Crystal Reports와 MSSQL Reporting Services를 알고 있으며 Drupal과 비슷한 종류의 것을 찾기를 희망했습니다. 이 작업을 돕기위한 프레임 워크, 예제 또는 모듈이 있습니까? 아니면 각 보고서에 원하는 데이터를 얻기 위해 views_alter_SQL 후크를 구현하는 사용자 정의 모듈을 작성해야합니까?


EDIT : BIRT 보고서를 사용하면 뷰에서 허용 할 수있는 것보다 훨씬 많은 힘이 들었습니다. 코드 내 블로그에 ... 당신이 그렇게 그것의 후크를 통해보기에 사용자 정의 필드를 부착하는 대신 사용자 지정 쿼리가 더 간단 구축, 사용자 정의 모듈을 구축 할 필요가 어떤 식 으로든 http://nicholaiburton.com/blog/2010/creating-custom-reports-for-drupal

답변

3

당신은 views_query_alter를 구현할 수 있지만, user.uid가 hours.uid에 조인한다고 가정하기 때문에 사용자 정의 뷰 필드 핸들러를 구현하는 것이 더 나을 것입니다. 이것은 아마도 가장 장기적인 솔루션 일 것입니다.

당신이해야 할 일은 단지 테이블이 어떻게 합류하고 총 시간 동안 처리기를 정의 하는지를 알려주는 것입니다. 당신은 help/docs를 찾을 수 있습니다 ->http://views-help.doc.logrus.com/help/views/api

+0

커스텀 핸들러 작성에 관한 문서는 가장 직관적이지는 않습니다 만 이것이 가장 좋은 방법입니다. 감사! 결국 – Nicholai

+0

코드를 작성하지 않고도 충분히 유연하지 못했습니다. 이 문제를 해결하기 위해 BIRT와 인터페이스하는 맞춤 모듈을 만들기로 결정했습니다. 저는 AHAH를 통해 보고서를 주입하는 데 몇 가지 버그를 해결하고 있지만 아직까지는 사용자 정의보고 요구 사항을 충족시키는 가장 쉽고 간편한 방법입니다. – Nicholai

0

, 자원 봉사 시간의 합계

관련 문제