특정 날짜 전후로 Views에 Date 필터 조건 걸기
부제 : Views 필터 Filter 에 날짜 관련 Date CCK 필드가 안보이는 경우 (6.x 전용?)
한 컨텐츠 타입(이하 "강의 컨텐츠")의 목록을 보여주는 뷰가 있는데,
이 목록에서 강의 개시일이 오늘 이후로 작성된 강의 컨텐츠는
화면에서 보이지 않았으면...,
즉 강의가 이미 끝난 것은 뷰에서 빼라는 의뢰를 고객이 해 왔다.
그거야 쉽지 하고,
강의 컨텐츠의 등록일(Node : Posted Date)을 조정하려는 실수를 했다.
가만 보니 컨텐츠 등록일과 컨텐츠의 "강의 개시일"은 다른 것이었다. 당연!
그래서 이번에는 강의 개시일 CCK(강의 컨텐츠의 필드 중 하나)를
뷰로 조작하려 했다. 통상적으로는 Filter에 가서 해당 CCK 필드를
고르고 등호,부등호,또는 교집합/합집합 등의 설정으로 뷰 변경하면 되는데...
이게 왠일인가? 뷰의 필터 항목에 "강의컨텐츠 타입 : 강의 개시일"이
나타나지 않는 것이 아닌가. 그 뿐만 아니라 Date 형태의 다른 필드들도
보이지 않았다. 이러면 어떻게 날짜로 필터링을 걸지? 싶어 drupal.org에서 검색했다.
생각보다 많은 기사들이 검색됐다.
그만큼 이 문제가 많은 드루팔 이용자들에게 이슈가 된 증거다.
결정적인 답은 아래 기사가 가지고 있었다. 첫 번째 답변 부분.
*** 해결책은, "Content: 필드명"을 이용하는 대신
"Date : Date"를 이용하는 것이었다.
이 필드를 추가하고 나면 설정이 조금 복잡해 지는데...
다른 것은 건드리지 않고(상황에 따라 Trial and Error 바람),
- OR / AND가 있는 Method 부분은 AND로 하고,
- Date 형태를 이용하는 컨텐츠 필드 Date field(s):중에
"강의컨텐츠 타입 : 강의 개시일"을 선택해 주었다.
그 다음에 나오는 상세 설정(필터 조건)에서는,
Is greater than or equal to을 선택하고,
Relative value의 Date Default에는 now +0 day를 입력해 주었다.
이는 오늘 날짜를 지난 컨텐츠를 보여주지 않겠다는 필터 조건이다.
이로써 고객이 원하는 사양을 만족하는 뷰를 만들 수 있었다.
드루팔 뷰, 역시나 복잡하고 강력했다.
이 글과 관련이 있나요...
- 경고 메시지 대처법 - Strict warning: strtotime(): It is not safe to rely on the system's timezone settings.
- 드루팔사이트에서 파일 버젼,date,size,link,status보여주고 파일 다운로드하게 하려면 어떻게 하면 되나요?
- Node Import 모듈을 이용한 컨텐츠의 대량 입수 (csv, tsv 등으로 배치 입력)
- 드루팔 페이지의 타이틀 바꿔보기 (HEAD의 TITLE)
- 드루팔의 컨텐츠 관리 인터페이스를 업그레이드 해 보자. Content Management Filter 모듈(CMF)


Recent comments
5 weeks 1 day ago
5 weeks 1 day ago
5 weeks 1 day ago
5 weeks 1 day ago
7 weeks 4 days ago
7 weeks 4 days ago
9 weeks 15 hours ago
9 weeks 1 day ago
9 weeks 1 day ago
9 weeks 1 day ago