2013-03-09 6 views
4

대부분의 경우 Liferay 포틀릿의 실제 이름을 알아야합니다.Liferay의 포틀릿 이름은 어떻게 생성됩니까?

$theme.runtime("58", "", $velocityPortletPreferences.toString()) 

을 그리고 그것은 작동합니다

특히하는 Liferay의 주제에 나는 다음과 같이 "로그인 포틀릿"을 추가 할 수 있습니다. 그러나 ID가 "some-portlet-id"인 사용자 정의 포틀릿을 추가하려고하면

$theme.runtime("some-portlet-id", "", $velocityPortletPreferences.toString()) 

그리고 작동하지 않습니다. 필자는 Liferay 포틀릿의 이름이 포틀릿의 ID와 일치하지 않는다고 생각합니다.

이 경우 누군가가 나를 설명 할 수 있습니까? 그 이름이 어떻게 생성됩니까?

미리 감사드립니다.

답변

10

포틀릿이 Liferay 포털 (예 : ROOT)에있는 경우 해당 포틀릿 ID는 포틀릿의 이름과 같습니다.

다른 war 파일 내에서 포틀릿 (예 : 플러그인 환경) 이름을 얻으려고 노력하지만,이 경우 포틀릿 이름이 규칙에 따라 생성됩니다,

[portlet ID] + _WAR_ + [webapp name, where portlet is placed] 

주의 사항을 모두 portlet IDwebapp name 그 그들의 이름에서 -을 제외하십시오. 을 Liferay의 테마 이름으로

someportletid_WAR_someportlet 

이 또한 reffers : 당신이 WAR 파일 some-portlet 내 ID some-portlet-id와 포틀릿을, 그래서 경우

그래서, 포틀릿 이름은 다음과 같이이다.

또한도하는 Liferay 포틀릿의 이름은 선택 인스턴스 ID를 가지 염두에 두시기 바랍니다 :

[portlet ID] + _WAR_ + [webapp name, where portlet is placed] + _INSTANCE_ + [portlet instance ID] 

그들은 그 포틀릿에 필요한, instansable 사실이다. 이것은 기본적으로 4 개의 임의의 문자입니다.

하지만 인스턴스 ID를 무시하고 원하는 모든 것을 넣을 수 있기 때문에주의해야합니다. 그러나 미리 채워진 데이터 (예 : 포틀릿 환경 설정)를 사용하여 특정 인스턴스를 가져와야하는 경우, 어떻게 든이를 알 필요가 있습니다.

1

설명서 (또는 n1ckolas '답변)를 계속 사용하지 않고 실제 포틀릿 ID (예 : Liferay 번호)를 조회하고 싶지 않은 경우 수동으로 원하는 포틀릿을 페이지에 추가 한 다음 "& 느낌/고급 스타일보기"와 거기에 포틀릿 ID를 볼 수 있습니다. INSTANCE가있는 경우, 고유 한 일부 항목을 추가하십시오. 그러나 더 중요한 부분 인 전체 포틀릿 ID는이 방법을 찾는 것이 가장 쉽습니다.

관련 문제