Percorsi dinamici e componenti modificabili
In questo capitolo vengono abilitati due percorsi dinamici Adventure Detail per supportare componenti modificabili. Campo da surf di Bali e Beervana a Portland.
Il percorso SPA di Adventure Detail è definito come /adventure/:slug
dove slug
è una proprietà di identificatore univoco nel frammento di contenuto Adventure.
Mappare gli URL dell’SPA alle pagine AEM
Nei due capitoli precedenti, abbiamo mappato il contenuto dei componenti modificabili dalla vista Home dell’SPA alla corrispondente pagina root dell’SPA remoto nell’AEM all’indirizzo /content/wknd-app/us/en/
.
La definizione della mappatura per i componenti modificabili per le route dinamiche SPA è simile, tuttavia è necessario elaborare uno schema di mappatura 1:1 tra le istanze della route e le pagine AEM.
In questo tutorial, prendiamo il nome del frammento di contenuto WKND Adventure, che è l’ultimo segmento del percorso, e lo mappiamo su un semplice percorso in /content/wknd-app/us/en/adventure
.
Quindi, sulla base di questa mappatura, dobbiamo creare due nuove pagine AEM all'indirizzo:
/content/wknd-app/us/en/home/adventure/bali-surf-camp
/content/wknd-app/us/en/home/adventure/beervana-in-portland
Mappatura remota SPA
La mappatura delle richieste che lasciano l’SPA remoto viene configurata tramite setupProxy
configurazione eseguita in Bootstrap SPA.
Mappatura dell’editor SPA
La mappatura per le richieste SPA quando l’SPA viene aperto tramite l’editor AEM SPA è configurata tramite la configurazione Sling Mappings eseguita in Configurare AEM.
Creare pagine di contenuti in AEM
Innanzitutto, crea l’intermediario adventure
Segmento di pagina:
-
Accedi a AEM Author
-
Accedi a Sites > App WKND > us > it > Home page app WKND
- Questa pagina dell'AEM è mappata come la radice dell'SPA, ed è qui che iniziamo a costruire la struttura della pagina dell'AEM per altre vie SPA.
-
Tocca Crea e seleziona Pagina
-
Seleziona la Pagina SPA remoto modello e tocca Successivo
-
Compila le proprietà della pagina
- Titolo: Avventure
- Nome:
adventure
- Questo valore definisce l’URL della pagina AEM e deve quindi corrispondere al segmento di route dell’SPA.
-
Tocca Fine
Quindi, crea le pagine AEM corrispondenti a ciascuno degli URL SPA che richiedono aree modificabili.
-
Accedi al nuovo Avventura pagina nell’amministratore del sito
-
Tocca Crea e seleziona Pagina
-
Seleziona la Pagina SPA remoto modello e tocca Successivo
-
Compila le proprietà della pagina
- Titolo: Campo da surf di Bali
- Nome:
bali-surf-camp
- Questo valore definisce l’URL della pagina AEM e deve quindi corrispondere all’ultimo segmento della route dell’SPA
-
Tocca Fine
-
Ripeti i passaggi 3-6 per creare Beervana a Portland con:
- Titolo: Beervana a Portland
- Nome:
beervana-in-portland
- Questo valore definisce l’URL della pagina AEM e deve quindi corrispondere all’ultimo segmento della route dell’SPA
Queste due pagine dell’AEM contengono i rispettivi contenuti creati per le rispettive vie dell’SPA. Se altre route SPA richiedono l'authoring, è necessario creare nuove pagine AEM all'URL SPA nella pagina principale della pagina SPA remota (/content/wknd-app/us/en/home
) nell'AEM.
Aggiornare l’app WKND
Posizioniamo il <ResponsiveGrid...>
componente creato in ultimo capitolo, nel nostro AdventureDetail
componente SPA, creazione di un contenitore modificabile.
Posizionare il componente SPA ResponsiveGrid
Inserimento di <ResponsiveGrid...>
nel AdventureDetail
il componente crea un contenitore modificabile in tale route. Il trucco è perché più route utilizzano AdventureDetail
per il rendering, è necessario regolare dinamicamente il <ResponsiveGrid...>'s pagePath
attributo. Il pagePath
deve essere derivato per puntare alla pagina AEM corrispondente, in base all’avventura visualizzata dall’istanza del percorso.
-
Apri e modifica
react-app-/src/components/AdventureDetail.js
-
Importa
ResponsiveGrid
e posizionarlo sopra il<h2>Itinerary</h2>
componente. -
Imposta i seguenti attributi su
<ResponsiveGrid...>
componente. OsservapagePath
aggiunge l'attributo correnteslug
che viene mappato sulla pagina dell’avventura in base alla mappatura definita sopra.pagePath = '/content/wknd-app/us/en/home/adventure/${slug}'
itemPath = 'root/responsivegrid'
Questo istruisce il
ResponsiveGrid
componente per recuperarne il contenuto dalla risorsa AEM:/content/wknd-app/us/en/home/adventure/${slug}/jcr:content/root/responsivegrid
Aggiorna AdventureDetail.js
con le seguenti righe:
...
import { ResponsiveGrid } from '@adobe/aem-react-editable-components';
...
function AdventureDetailRender(props) {
...
// Get the slug from the React route parameter, this will be used to specify the AEM Page to store/read editable content from
const { slug } = useParams();
return(
...
// Pass the slug in
function AdventureDetailRender({ title, primaryImage, activity, adventureType, tripLength,
groupSize, difficulty, price, description, itinerary, references, slug }) {
...
return (
...
<ResponsiveGrid
pagePath={`/content/wknd-app/us/en/home/adventure/${slug}`}
itemPath="root/responsivegrid"/>
<h2>Itinerary</h2>
...
)
}
)
}
Il AdventureDetail.js
il file dovrebbe avere un aspetto simile a:
Creare il contenitore in AEM
Con il <ResponsiveGrid...>
sul posto, e il suo pagePath
impostato in modo dinamico in base all’avventura di cui viene eseguito il rendering, tentiamo di creare contenuti al suo interno.
-
Accedi a AEM Author
-
Accedi a Sites > App WKND > us > it
-
Modifica il Home page dell’app WKND pagina
- Accedi a Campo da surf di Bali indirizzare il SPA per modificarlo
-
Seleziona Anteprima dal selettore modalità in alto a destra
-
Tocca il Campo da surf di Bali carta di credito dell'SPA per accedere alla sua rotta
-
Seleziona Modifica dal selettore modalità
-
Individua il Contenitore di layout area modificabile sopra Itinerario
-
Apri Barra laterale dell’Editor pagina, e seleziona la Vista Componenti
-
Trascina alcuni dei componenti abilitati in Contenitore di layout
- Immagine
- Testo
- Titolo
E crea del materiale promozionale per il marketing. Potrebbe presentarsi così:
-
Anteprima le modifiche apportate nell’Editor pagina per AEM
-
Aggiorna l’app WKND in esecuzione localmente il http://localhost:3000, passare alla Campo da surf di Bali route per visualizzare le modifiche create.
Quando si passa a un percorso di dettagli dell’avventura privo di una pagina AEM mappata, non è possibile creare l’istanza del percorso. Per abilitare l’authoring in queste pagine, è sufficiente creare una pagina AEM con il nome corrispondente nel Avventura pagina!
Congratulazioni.
Congratulazioni. Hai aggiunto la possibilità di authoring per le route dinamiche nell'SPA.
- È stato aggiunto il componente ResponsiveGrid del componente React Editable dell’AEM a una route dinamica
- Sono state create pagine AEM per supportare la creazione di due percorsi specifici nell'SPA (Bali Surf Camp e Beervana a Portland)
- Contenuti creati sulla strada dinamica Bali Surf Camp!
Ora hai completato l’esplorazione dei primi passaggi su come utilizzare l’Editor SPA dell’AEM per aggiungere specifiche aree modificabili a un SPA remoto.