Integración de Page Designer con PWA Kit

Con Page Designer, puede crear tipos de página y tipos de componente reutilizables para su sitio del kit de Progressive Web App (PWA). Utilice el editor visual sin código en Business Manager para diseñar, programar y publicar páginas de Page Designer para su sitio. Cuando se integra con un sitio de PWA Kit, Page Designer permite la representación de páginas dinámicas y receptivas utilizando componentes de React.

En esta guía se explica cómo configurar PWA Kit para que tu sitio pueda mostrar páginas de Page Designer.

Antes de ejecutar los comandos de este tutorial, reemplace los marcadores de posición por valores reales. Los marcadores de posición tienen el siguiente formato: $PLACEHOLDER.

Requisitos previos 

Para integrar Page Designer con un sitio de PWA Kit:

Consideraciones 

Configurar Page Designer 

  1. En tu proyecto de PWA Kit, crea un archivo llamado app/pages/page-viewer/index.jsx, y agrega este código.

    El propósito del archivo es configurar un visor de páginas para representar las páginas de Page Designer utilizando sus componentes. Este código incluye componentes de ejemplo con fines de demostración. Reemplace los componentes de su código por los que se aplican a su sitio. En este ejemplo de integración se utiliza @salesforce/commerce-sdk-react.

1// app/pages/page-viewer/index.jsx
2
3import React from 'react'
4import {useParams} from 'react-router-dom'
5import {Box} from '@salesforce/retail-react-app/app/components/shared/ui'
6import {usePage, usePages} from '@salesforce/commerce-sdk-react'
7import {Page} from '@salesforce/commerce-sdk-react/components'
8// Map Page Designer components to your React components.
9import {ImageTile, ImageWithText} from '../../page-designer/assets'
10import {
11    Carousel,
12    MobileGrid1r1c,
13    MobileGrid2r1c,
14    MobileGrid2r2c,
15    MobileGrid2r3c,
16    MobileGrid3r1c,
17    MobileGrid3r2c
18} from '../../page-designer/layouts'
19
20import {HTTPError, HTTPNotFound} from '@salesforce/pwa-kit-react-sdk/ssr/universal/errors'
21
22const PAGEDESIGNER_TO_COMPONENT = {
23    'commerce_assets.photoTile': ImageTile,
24    'commerce_assets.imageAndText': ImageWithText,
25    'commerce_layouts.carousel': Carousel,
26    'commerce_layouts.mobileGrid1r1c': MobileGrid1r1c,
27    'commerce_layouts.mobileGrid2r1c': MobileGrid2r1c,
28    'commerce_layouts.mobileGrid2r2c': MobileGrid2r2c,
29    'commerce_layouts.mobileGrid2r3c': MobileGrid2r3c,
30    'commerce_layouts.mobileGrid3r1c': MobileGrid3r1c,
31    'commerce_layouts.mobileGrid3r2c': MobileGrid3r2c
32
33// Add your custom Page Designer React component implementation here.
34
35}
36
37
38
39const PageViewer = () => {
40    const {pageId} = useParams()
41    const {data: page, error} = usePage({parameters: {pageId}})
42
43    if (error) {
44        let ErrorClass = error.response?.status === 404 ? HTTPNotFound : HTTPError
45        throw new ErrorClass(error.response?.statusText)
46    }
47
48    return (
49        <Box layerStyle={'page'}>
50            <Page page={page} components={PAGEDESIGNER_TO_COMPONENT} />
51        </Box>
52    )
53}
54
55PageViewer.displayName = 'PageViewer'
56
57export default PageViewer
  1. En su proyecto de PWA Kit, abra app/routes.jsx y agregue una ruta para navegar a ''.

    Reemplácelo $PAGE_ID con una identificación de página que haya definido para sus páginas de Page Designer en Business Manager.

1// app/routes.jsx
2
3// Create a loadable page for `page-viewer`.
4const PageViewer = loadable(() => import('./pages/page-viewer'), {fallback})
5
6
7// Add a route.
8{
9    path: '/page-viewer/$PAGE_ID',
10    component: PageViewer
11}
  1. Para iniciar su servidor web localmente, ejecute:

    npm start

  2. Para ver Page Designer páginas renderizadas en React.js, vaya a

    `http:localhost:3000/page-viewer/$PAGE_ID y use el ID de página que identificó en el paso 2.

    Por ejemplo, si el ID de tu página es 123, ve a: http://localhost:3000/page-viewer/123.

Coincidencia de componentes React e ISML 

Esta es una lista de componentes de React que tienen contrapartes ISML coincidentes. Puedes encontrar los componentes de React en el repositorio de GitHub de Page Designer para PWA Kit.

Componentesde React Componentes ISML
carruselcommerce_layouts. carrusel
mobileGrid1r1ccommerce_layouts. mobileGrid1r1c
mobileGrid2r1ccommerce_layouts. mobileGrid2r1c
mobileGrid2r2ccommerce_layouts. mobileGrid2r2c
mobileGrid2r3ccommerce_layouts. mobileGrid2r3c
mobileGrid3r1ccommerce_layouts. mobileGrid3r1c
mobileGrid3r2ccommerce_layouts. mobileGrid3r2c
image-tilecommerce_assets. photoTile
imagen-con-textocommerce_assets. imageAndText

Consulte también