2013-02-28 2 views
3

내 코드에 liferay-ui : search-container를 사용했습니다.Liferay 검색 컨테이너 페이지 매기기

NEXT를 클릭 할 때까지 검색 결과가 올바르게 표시됩니다. 포틀릿을 다시로드하면 포틀릿의 첫 번째 페이지로 이동하여 제시된 검색 결과를 삭제합니다.

포틀릿을 다시로드 한 후에도 검색 결과를 유지하려면 어떻게해야합니까?

답변

1

평생 검색 컨테이너는 "다음"및 "이전"을 클릭 할 때 전달하는 매개 변수에서 작동합니다.

"다음"및 "이전"링크의 URL을 확인하십시오.

예를 들어, URL과 같은 매개 변수가됩니다 =

p_p_id = 15 & p_p_lifecycle = 0 & p_p_state을 & p_p_mode를 극대화 =보기 & doAsGroupId = 10194 & refererPlid = 12110 & _15_struts_action = % 2Fjournal % 2Fview & _15_tabs1 = 템플릿 & _15_delta = 20 & _15_keywords = & _15_advancedSearch = 거짓 & _15_andOperator = 사실 & _15_description =_15_groupIds =을 Liferay 됨 용기 결과의 다음 세트로 이동 델타 매개 변수를 이용 CUR = 2

10,194 _15_name = & & _15_structureId = & & _15_resetCur _15_searchTemplateId = FALSE = & CUR.

자세한 내용은 검색 컨테이너를 사용하는 라이프 레틀 포틀릿과 URL 작성 방법을 살펴보십시오.

4

기본 동작이 사용자 요구에 맞지 않는 경우 iteratorURL 특성에 값을 지정할 수 있습니다.

다음 예제에서 검색 결과 테이블에서 '다음'을 누르면 포틀릿의 proccesAction() 메소드가 param1 및 param2와 함께 호출됩니다.

해당 방법에 논리를 추가하여 검색 결과를 유지할 수 있습니다.

<% 
PortletURL urlPaginator=renderResponse.createActionURL(); 
urlPaginator.setParameter("param1", value1); 
urlPaginator.setParameter("param2",value2); 
%> 

<liferay-ui:search-container iteratorURL="<%=urlPaginator%>">