Si va a representar una lista de elementos de contenido en un diseño de contenido desde su propia consulta, puede crear un enlace a una página de detalles para un elemento de contenido. Puede utilizar la API SCSRenderAPI.getPageLinkData
del SDK de Sites para generar una página URL de Detalles de sitio.
La propiedad detailPageId
es el identificador de la página de detalles seleccionada en el elemento de contenido o en la lista de contenido. Si no se ha definido el valor, el valor devuelto es la primera página de SiteStructureMap
que tenga la propiedad isDetailPage
definida.
Para acceder a esta propiedad, puede utilizar el SDK de Sites. Este solo está disponible cuando se utiliza el diseño de contenido para un sitio de Oracle Content Management. Solo se puede acceder a él a través de scsData, que se transfiere como uno de los argumentos cuando se crea el diseño de contenido. Por ejemplo:
scsData.SitesSDK.getProperty('detailPageId', function (detailPageId) { console.log(detailPageId);});
Una vez que tenga el detailPageId
, puede utilizarlo para crear el enlace a la página de detalles.
La SCSRenderAPI tiene una función, getPageLinkData()
, que incluye un pageId
y opciones adicionales, y crea la URL necesaria en la página transfiriendo las opciones. La firma para esta función es la siguiente:
SCSRenderAPI.getPageLinkData(pageId, options);
Tiene los siguientes parámetros:
identificador de página: el mismo que devolvió detailPageId
desde la propiedad detailPageId
de los SDK de Sites.
opciones:
contentType
contentId
contentName
El valor de retorno es un objeto con las siguientes propiedades:
hideInNavigation
href
href
El siguiente ejemplo une todo lo anterior:
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); });
Esto se imprimiría como: "/sites/{site}/{detailPageName}/{contentType}/{contentId}/{contentSlug}
"
Si el pageId
no es una página de detalles, los valores de contenido no se agregarán a la URL.
Consulte SDK de Oracle Content Management.