Generování adresy URL stránky Podrobnosti webu pomocí rozhraní API

Pokud generujete seznam položek obsahu v rozvržení obsahu z vlastního dotazu, můžete vytvořit odkaz na stránku podrobností pro položku obsahu. Ke generování adresy URL stránky Podrobnosti webu můžete použít rozhraní API SCSRenderAPI.getPageLinkData sady SDK pro weby.

Vlastnost detailPageId je identifikátor stránky podrobností vybrané v položce obsahu nebo v seznamu obsahu. Pokud nebyla hodnota nastavena, bude vrácenou hodnotou první stránka mapy SiteStructureMap, která má nastavenu vlastnost isDetailPage.

K získání přístupu k této vlastnosti můžete použít sadu SDK pro weby. Ta je k dispozici pouze v případě, že je rozvržení obsahu použito pro web Oracle Content Management. Přístup je možný pouze prostřednictvím hodnoty scsData, která je předána jako jeden z argumentů při vytváření rozvržení obsahu. Například:

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

Jakmile máte k dispozici hodnotu detailPageId, můžete ji použít k vytvoření odkazu na stránku podrobností.

Rozhraní SCSRenderAPI obsahuje funkci getPageLinkData(), která přebírá hodnotu pageId a další volby a vytváří požadovanou adresu URL pro stránku na základě těchto voleb. Funkce má následující signaturu:

SCSRenderAPI.getPageLinkData(pageId,
      options);

Má následující parametry:

  • pageId: Shoduje se s parametrem detailPageId vráceným z vlastnosti detailPageId sady SDK pro weby.

  • options:

    • contentType

    • contentId

    • contentName

Vrácenou hodnotou je objekt s těmito vlastnostmi:

  • hideInNavigation

  • href

  • href

Další příklad spojuje vše dohromady:

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);
});

Výsledek bude následující: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}"

Pokud hodnotě pageId neodpovídá stránka podrobností, nebudou přidány hodnoty obsahu do adresy URL.

Prostudujte si téma Oracle Content Management Sady SDK.