fivestar

드루팔의 노드 검색 결과에 특정 컨텐츠 필드(예:이미지)를 추가하는 법

드루팔 사이트의 검색은 CSE모듈을 이용해서 구글에 맡기는 것이 좋은데,
비공개성이 강하거나 회원제 사이트라면 드루팔의 표준 검색 모듈 Search만을 이용한다.

어떤 개인 프로젝트에서 검색 결과 화면을 수정해 이미지를 출력하는 요건이 있었다.
쉬울 거라 예상했는데, 드루팔의 기본 검색 결과 화면을 커스터마이징하는 건 어려웠다.

* 조건 : 소스 코딩을 하지 말 것.
(소스나 테마를 수정하면 뭐든지 되지만, 시간이 많이 걸리고 나중에 버전 관리가 어렵다)

- 우선 drupal.org에서 Custom Search Results로 찾아보았다.
검색 결과를 수정가능한 모듈이 있는지 살펴봤는데 몇몇 후보 모듈들의 기능이 엉뚱했다.

 Saved Search... 모듈 : 기존 검색결과를 임시 저장한다?!
View Search 모듈 : 이 또한 기존의 검색결과를 이용해 뷰를 만들 수 있다고.

- 그래서 검색 결과를 수정가능한 테마가 있는지 살펴보기로 했다.

Smokes... 등 몇몇의 검색결과 옵션을 보유한 테마가 있었지만
단순히 작성자나 날짜 등의 온/오프 설정 뿐이어서 세밀한 커스터마이징이 불가능했다.
더 세밀히 검색결과를 조작하려면 search-results.tpl을 수정해야 했다.
코딩이 발생하므로 귀찮아서 스킵.

- "search results"로 모듈을 다시 검색하다가 Display Suite가 있음을 발견했다.
이미 유용한 모듈로 알고는 있었지만, 검색 결과마저 수정해 주는 줄은 몰랐다. 자세히 보기 »

View에서 FiveStar와 Voting API 연동해서 랭킹별 뷰 만들기

FiveStar로 평가된 노드들에 대해서 랭킹 뷰를 만들고자 한다.
그런데 뷰에 가 보아도 FiveStar 항목에 관한 필드나 필터가 보이지 않는다.

아래 동영상에서 힌트를 얻었는데,
View > Relationships에서 설문/투표 결과를 연동할 수 있게 돼 있었다!

Building Views with Fivestar and VotingAPI
http://www.lullabot.com/videos/building-views-fivestar-and-votingapi

절차는 다음과 같다.

1. 해당 뷰 설정 >> RelationShip에
Node: Vote results 를 추가한다.

Require this relationship 항목을 체크해 준다.
Value type:필터 없음
Vote tag:필터 없음
Aggregation function:평균vote
로 각각 지정할 것.

2. 이후 뷰 설정의 Add sort criteria에서
그룹으로 Vote results를 선택하고,
Vote results: 값을 desc로 지정하면 된다.

뷰 설정을 저장하는 것, 잊지 않아야 한다.

내용묶음