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

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

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

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

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

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

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

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

- "search results"로 모듈을 다시 검색하다가 Display Suite가 있음을 발견했다.
이미 유용한 모듈로 알고는 있었지만, 검색 결과마저 수정해 주는 줄은 몰랐다.
검색결과에 카테고리(텍사노미 텀즈 등)와 이미지 필드마저 출력 가능, 대박!
게다가 검색결과 내의 검색키워드에 관해 문자열 하이라이트(Highlight) 기능도 있었다.

Display Suite 모듈(이하 DS)과 Node Displays(이하 ND), Node Displays Contribution 모듈의 조합으로
드루팔의 노드 검색 결과에 특정 컨텐츠 필드(예:이미지)를 추가할 수 있었다.

  ・관리자 상태에서 아래 모듈들을 다운로드, 설치, 활성화.
 
http://drupal.org/project/ds
http://drupal.org/project/nd
http://drupal.org/project/nd_contrib

  ・아래 주소에서 해당 컨텐츠 타입의 검색 결과 화면을 커스터마이징한다.

admin/build/ds/layout
 
주의할 점! admin/build/ds/modules/nd/nd_search
에서 Override search page 옵션을 체크해 주어야 한다.
  참고 : http://drupal.org/node/1086216

  ・Fivestar 관련된 ND Fivestar 모듈은 활성화 하지 않는 것이 좋다.
    이를 활성화한 경우에, 기존에 설정된 컨텐츠 타입의 Fivestar가 보이지 않게 된다.

    이 경우, 문제를 해소하는 방법은 다음과 같다.
  admin/content/node-type/해당_컨텐츠_타입
  화면으로 가서, Fivestar ratings 항목의
Enable Fivestar rating을 다시 체크해 주면 된다. 

[참고]

- View 모듈 vs DS 모듈 vs Panel 모듈

뷰 모듈은 노드들의 필터링/그룹핑 목록을 보여줄 때 탁월하고,
DS 모듈은 노드 자체의 화면표시 부분 수정에 대해 강하고,
패널 모듈은 노드나 블럭들을 이용해 한 화면을 짜집기해서 만들 때 유용하다.

중요도로 보자면, 뷰 모듈 > DS 모듈 > 패널 모듈이겠다.
패널 모듈은 점점 쇠퇴하는 느낌이다.

- DS, ND 모듈의 사용 설명 사이트(영문).

http://drupal.org/node/644662
http://www.jyvesgarden.com/blog/introduction-display-suite

- DS 모듈의 이슈 페이지(개발용).

http://drupal.org/project/issues/ds?text=search&status=All&priorities=Al...

Your rating: None 평균 : 4 (1 vote)