문서 목록이있는 페이지를 만들고 목록에 필터링을 추가하려고합니다. 문서 구조는 다음과 같습니다복합 필드 속성에 의한 문서 쿼리 실패
/content/documents/web/sale-exclusives/
<node name> [web:saleexclusive]
web:exclusive [web:exclusive] (@web:year)
그래서, 속성 web:year
와 유형 web:exclusive
의 화합물 아이들이 유형 web:saleexclusive
의 루트 문서가 있습니다. web:saleexclusive
유형의 문서를 web:year
하위 필터링 노드로 필터링하려고합니다.
EssentialsListComponent
확장이 achive과 (단지 시험)과 같은
contributeAndFilters
방법을 재정의하려면 :
@Override
protected void contributeAndFilters(List<BaseFilter> filters, HstRequest request, HstQuery query) {
Filter filter = query.createFilter();
try {
filter.addGreaterOrEqualThan("web:exclusive/web:year", 1900L);
filters.add(filter);
} catch (FilterException e) {
LOGGER.error("", e);
}
}
웹에 문서가 있지만, 문제는, 내가 빈 결과를 얻고 있다는 것입니다 : 연도> 필터가 없으면 모든 문서가 sale-exclusives
아래에 있습니다.
필터는 위의 XPath 쿼리 다음과 같은 생산 :
//*[(@hippo:paths='79a713cf-294d-4e99-9d63-fc50db10e43f') and (@hippo:availability='live') and not(@jcr:primaryType='nt:frozenNode') and (web:exclusive/web:year >= 1900)] order by @jcr:score descending
필터링을 web:saleexclusive
잘 작동의 자신의 속성에 의해.
내가 그 문제를 해결할 수 있습니까?
인가? – Jeroen
유형이 Long입니다. –