liferay 포털의 다른 페이지로 이동할 수 있도록 포틀릿에 링크를 만들고 싶습니다. 내가 API를 찾고 있는데 (liferay 특정 될 수있다) 주어진 페이지 이름은 url (친숙한 URL도 될 수있다)을 리턴 할 것이다.프로그래밍 방식으로 liferay에서 페이지의 URL 가져 오기
답변
Liferay의 페이지에 액세스하는 API는 LayoutService입니다. 그러나 Liferay에서는 페이지 이름이 고유하지 않으며 국제화되어 있습니다. 따라서 페이지 이름이 URL 외에도 검색 할 수있는 고유 한 속성이 필요합니다.
실제로 페이지 이름 만있는 경우 LayoutLocalServiceUtil.getLayouts (...)을 사용하여 모든 레이아웃을 반복하고 일부 속성 (이 경우 해당 이름)을 확인할 수 있습니다.
Liferay의 포털 페이지는 실제로 API와 DB 테이블에서 Layouts
이라고합니다. 그들은 plid
필드로 식별되며 LayoutLocalServiceUtil
및 관련 API를 사용하여 얻을 수 있으며 themeDisplay.getLayout()
과 같은 다른 호출에서도 얻을 수 있습니다.
그러나 당신은 포털, 그룹과 레이아웃 자체의 친화적 인 URL을 연결해야 페이지에 문자열 포함 된 URL을 구축하기 위해 (즉, /web/guest/home
-web
포털 URL은 guest
가에 의해 게스트 그룹의 친화적 인 URL입니다, 공개 페이지입니다 기본값이며 home
은 기본적으로 홈 페이지/레이아웃의 친숙한 URL입니다.) 이는 공개 또는 비공개 페이지인지 여부를 확인해야하기 때문에 까다로울 수 있습니다.
일단 그룹에 대해 친숙한 URL로 가상 호스트를 사용하기 시작하면 상황이 바뀝니다. 그래서 이것은 좋은 방법이 아닙니다.
수동으로 URL을 생성하지 않고 올바른 URL을 사용하지 않으려면 com.liferay.portal.util.PortalUtil.getLayoutFriendlyURL(Layout layout, ThemeDisplay themeDisplay)
정적 방법 PortalUtil
을 사용해야합니다. 그러면 모든 필요한 작업이 수행됩니다. 비록 레이아웃뿐만 아니라 ThemeDisplay
을 제공해야합니다.
Liferay 6.1.20 이상에서는 '링크 포틀릿 URL 대 페이지'를 사용하여 링크가 포털의 앤서 페이지로 진행되도록 할 수 있습니다. 포틀릿의 '보기 및 느낌'메뉴 항목에 있습니다. 나를 위해 이것은 잘 작동합니다.
건배
- 1. PHP에서 페이지의 URL 가져 오기
- 2. 프로그래밍 방식으로 페이지 스크린 샷 가져 오기
- 3. 제목이 주어진 미디어 위키 페이지의 URL 가져 오기 - 프로그래밍 방식으로 PHP에서
- 4. URL 가져 오기 후
- 5. 프로그래밍 방식으로 MVC 뷰 목록 가져 오기?
- 6. Mac에서 CSV로 프로그래밍 방식으로 CSV 가져 오기
- 7. 프로그래밍 방식으로 가져 오기 구성 호출하기
- 8. 프로그래밍 방식으로 Android 위치 정보 가져 오기
- 9. GPU 활용을 프로그래밍 방식으로 가져 오기
- 10. 프로그래밍 방식으로 단어 정의 가져 오기
- 11. OSGi : 번들에 프로그래밍 방식으로 가져 오기 추가
- 12. 프로그래밍 방식으로 Google 검색 결과 가져 오기
- 13. MACOSX에서 라우팅 테이블 가져 오기 (프로그래밍 방식으로)
- 14. 프로그래밍 방식으로 CSV 데이터를 액세스로 가져 오기
- 15. 메일 서명을 프로그래밍 방식으로 가져 오기
- 16. 프로그래밍 방식으로 Access에서 양식 가져 오기
- 17. 프로그래밍 방식으로 TextView 너비 가져 오기
- 18. Eclipse에서 라이브러리를 프로그래밍 방식으로 가져 오기
- 19. 프로그래밍 방식으로 변수 목록 가져 오기
- 20. Umbraco - 프로그래밍 방식으로 ID로 노드 가져 오기
- 21. 프로그래밍 방식으로 SIM 번호 가져 오기
- 22. 문자열에서 URL 가져 오기
- 23. URL 뒤로 가져 오기
- 24. wireshark에서 URL 가져 오기
- 25. 페이지의 전체 콘텐츠 가져 오기?
- 26. 페이지의 프로필 사진 가져 오기
- 27. URL 재 작성 후 URL 가져 오기
- 28. iCal에서 캘린더 일정 가져 오기/설정 (프로그래밍 방식으로)
- 29. 프로그래밍 방식으로 12 하이브 디렉터리 경로 가져 오기
- 30. 프로그래밍 방식으로 IIS 웹 사이트 식별자 가져 오기
이름은 고유하지 않지만 FriendlyURL 속성은 고유합니다. – Jonny
FriendlyURL은 고유하지 않습니다. AFAIK. 여러 그룹의 두 페이지 (레이아웃)는 동일한 친숙한 URL을 가질 수 있습니다. 실제로 그들은 새로운 그룹을 만들 때 일반적으로 "/ home"친숙한 URL이있는 페이지를 만듭니다. 페이지 (레이아웃)의 친숙한 URL에 완전한 경로 (예 : '/ web/guest/home', '/ web/user/home')가 포함되어 있지는 않지만 그 일부만 포함된다는 것이 있습니다. – mvmn
groupId + friendlyURL의 조합은 고유합니다. –