2014-02-18 2 views
1

MVC Portlet을 개발 중이며 컨트롤러를 통해 메뉴 링크를 통해 내 포틀릿의 특정 페이지를 열고 싶습니다. 속도 템플릿에 포틀릿의 포틀릿 이름이 있습니다.특정 포틀릿을 가져 오는 방법 Liferay 속도 템플릿

어떻게 그 포틀릿을 plid 할 수 있습니까?

내 코드는 다음과 같습니다 : 현재의 URL를 내 paramters를 추가하고 현재 페이지에 머물고

#if ($nav_item.getName().equalsIgnoreCase("specific menu link")) 

#set ($myURL = $portletURLFactory.create($request,"portletname_WAR_portletnameportlet",$getterUtil.getLong($plid),"RENDER_PHASE")) 
$myURL .setParameter("view","methodName") //Controller paramter 
<a href="$myURL" > $nav_item.getName()</a> 
#end 

그것.

다른 페이지에 내 포틀릿을 추가하고 하드 코딩 된 plid를 사용해 보았지만 잘 작동하지만 다른 서버에서는 문제가 발생합니다.

URL을 생성하는 동안 사용할 VMM 파일에서 런타임시 내 포틀릿을 plid로 가져 오려면 어떻게해야합니까?

답변

0

포틀릿 환경 설정에서 팁 값을 제공 할 수 있습니다. 포틀릿 ID로 포틀릿 환경 설정을 얻습니다. 그런 다음 plid를 얻습니다.

일부 포틀릿은 여러 페이지에 배치 될 수 있으므로 여러 개의 plid가 표시 될 수 있습니다.

페이지 이름 가져 오기 plid를 기반으로 모든 포털에서 동일한 페이지 이름을 사용하십시오.