API를 사용한 사이트 세부정보 페이지 URL 생성

고유 질의를 통해 콘텐츠 레이아웃의 콘텐츠 항목 목록을 렌더링하는 경우 콘텐츠 항목에 대한 세부정보 페이지의 링크를 생성할 수 있습니다. Sites SDK SCSRenderAPI.getPageLinkData API를 사용하여 사이트 세부정보 페이지 URL을 생성할 수 있습니다.

detailPageId 속성은 콘텐츠 항목 또는 콘텐츠 목록에서 선택된 세부정보 페이지의 ID입니다. 값이 설정되지 않은 경우 반환 값은 isDetailPage 속성이 설정된 SiteStructureMap의 첫번째 페이지입니다.

이 속성에 액세스하려면 Sites SDK를 사용할 수 있습니다. 이 속성은 콘텐츠 레이아웃이 Oracle Content Management 사이트에 사용되는 경우에만 사용할 수 있습니다. 콘텐츠 레이아웃을 생성할 때 인수 중 하나로 전달된 scsData를 통해서만 액세스할 수 있습니다. 예를 들어, 다음과 같습니다.

scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) {   console.log(detailPageId);});

detailPageId가 있으면 이를 사용하여 세부정보 페이지의 링크를 생성할 수 있습니다.

SCSRenderAPI에는 getPageLinkData() 함수가 있어서 pageId 및 추가 옵션을 취하고 이 옵션을 통과하는 페이지에 필요한 URL을 생성합니다. 이 함수의 서명은 다음과 같습니다.

SCSRenderAPI.getPageLinkData(pageId,
      options);

다음 매개변수가 있습니다.

  • pageId: Sites SDK detailPageId 속성에서 반환된 detailPageId와 동일합니다.

  • options:

    • contentType

    • contentId

    • contentName

반환 값은 다음 속성을 가진 객체입니다.

  • hideInNavigation

  • href

  • href

다음 예제는 이 모두를 종합한 것입니다.

scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) {
  var pageDetails = SCSRenderAPI.getPageLinkData(pageId,     {
        'contentType': contentType,
        'contentId': contentId,
        'contentName': contentItemData.slug || contentItemData.name
    });
 
 
   // get the URL to the page
   console.log(pageDetails.href);
});

인쇄 출력: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}"

pageId가 세부정보 페이지가 아닌 경우 콘텐츠 값은 URL에 추가되지 않습니다.

Oracle Content Management SDK를 참조하십시오.