Dynamische routes en bewerkbare componenten

IMPORTANT
De redacteur van het KUUROORD is afgekeurdvoor nieuwe projecten. Het blijft door Adobe ondersteund voor bestaande projecten, maar mag niet worden gebruikt voor nieuwe projecten. De voorkeurseditors voor het beheer van inhoud zonder kop in AEM zijn nu:

In dit hoofdstuk, laten wij twee dynamische routes van het Detail van het avontuur toe om editable componenten te steunen; Bali Surf Camp en Beervana in Portland.

Dynamische routes en editable componenten

De route van het KUUROORD van het Detail van het Avontuur wordt gedefinieerd als /adventure/:slug waar slug een unieke herkenningstekenbezit op het Fragment van de Inhoud van de Avontuur is.

De SPA-URL's toewijzen aan AEM-pagina's

In de vorige twee hoofdstukken, hebben wij editable componenteninhoud van de mening van het Huis van het KUUROORD aan overeenkomstige Verre de wortelpagina van het KUUROORD in AEM bij /content/wknd-app/us/en/ in kaart gebracht.

Het bepalen van afbeelding voor editable componenten voor de dynamische routes van het KUUROORD is gelijkaardig maar wij moeten omhoog 1:1 kaartschema tussen instanties van de route en de pagina's van AEM komen.

In deze zelfstudie nemen we de naam van het WKND Adventure Content Fragment, het laatste segment van het pad, en wijzen we het toe aan een eenvoudig pad onder /content/wknd-app/us/en/adventure .

Externe SPA-route
AEM-paginapad
/
/content/wknd-app/us/nl/home
/adventure/bali-surf-kamp
/content/wknd-app/us/nl/home/adventure/bali-surf-kamp
/adventure/beervana-portland
/content/wknd-app/us/nl/home/adventure/beervana-in-portland

Op basis van deze afbeelding moeten we dus twee nieuwe AEM-pagina's maken op:

  • /content/wknd-app/us/en/home/adventure/bali-surf-camp
  • /content/wknd-app/us/en/home/adventure/beervana-in-portland

Externe SPA-toewijzing

De afbeelding voor verzoeken die het Verre KUUROORD verlaten wordt gevormd via de setupProxy configuratie die in Bootstrap wordt gedaan het KUUROORD.

SPA-editor toewijzen

De afbeelding voor de verzoeken van het KUUROORD wanneer het KUUROORD via de Redacteur van het KUUROORD wordt geopend wordt gevormd via het Verdelen van de configuratie die in wordt gedaan vormt AEM.

Inhoudspagina's maken in AEM

Maak eerst het tussenliggende paginasegment adventure :

  1. Aanmelden bij AEM-auteur

  2. Navigeer aan Plaatsen > WKND App > gebruiken > en > WKND App Homepage

    1. Deze pagina van AEM wordt in kaart gebracht als wortel van SPA, zodat is dit waar wij beginnen de de paginastructuur van AEM voor andere routes van het KUUROORD te bouwen.
  3. Tik creeer en selecteer Pagina

  4. Selecteer het Verre malplaatje van de Pagina van het KUUROORD, en Tik daarna

  5. Pagina-eigenschappen invullen

    1. Titel: Adventure
    2. Naam: adventure
      1. Deze waarde bepaalt URL van de pagina van AEM, en moet daarom het de routesegment van het KUUROORD aanpassen.
  6. Tik Gereed

Dan, creeer de pagina's van AEM die aan elk van URLs van het KUUROORD beantwoorden die editable gebieden vereisen.

  1. Navigeer in de nieuwe pagina van het Adventure in Plaats Admin

  2. Tik creeer en selecteer Pagina

  3. Selecteer het Verre malplaatje van de Pagina van het KUUROORD, en Tik daarna

  4. Pagina-eigenschappen invullen

    1. Titel: Bali Surf Camp
    2. Naam: bali-surf-camp
      1. Deze waarde bepaalt URL van de pagina van AEM, en moet daarom het laatste segment van de route van SPA aanpassen
  5. Tik Gereed

  6. Herhaal de stappen 3-6 om Beervana in Portland pagina tot stand te brengen, met:

    1. Titel: Beervana in Portland
    2. Naam: beervana-in-portland
      1. Deze waarde bepaalt URL van de pagina van AEM, en moet daarom het laatste segment van de route van SPA aanpassen

Deze twee pagina's van AEM houden de respectieve-authored inhoud voor hun passende routes van het KUUROORD. Als andere routes van het KUUROORD auteursrecht vereisen, moeten de nieuwe Pagina's van AEM bij hun KUUROORD URL onder de Verre de wortelpagina van de KUUROORD (/content/wknd-app/us/en/home) in AEM worden gecreeerd.

De WKND-app bijwerken

Plaats de <ResponsiveGrid...> component die in het laatste hoofdstukwordt gecreeerd, in onze AdventureDetail component van het KUUROORD, die tot een editable container leiden.

De SPA-component ResponsiveGrid plaatsen

Door <ResponsiveGrid...> in de AdventureDetail -component te plaatsen, wordt een bewerkbare container in die route gemaakt. De truc is dat meerdere routes de AdventureDetail -component gebruiken om te renderen, we het <ResponsiveGrid...>'s pagePath -kenmerk dynamisch moeten aanpassen. pagePath moet worden afgeleid om aan de overeenkomstige pagina van AEM te richten, die op het avontuur wordt gebaseerd de instantie van de route toont.

  1. Openen en bewerken react-app-/src/components/AdventureDetail.js

  2. Importeer de component ResponsiveGrid en plaats deze boven de component <h2>Itinerary</h2> .

  3. Stel de volgende kenmerken in voor de component <ResponsiveGrid...> . Het kenmerk pagePath voegt de huidige slug toe die aan de avontuurpagina wordt toegewezen volgens de bovenstaande toewijzing.

    1. pagePath = '/content/wknd-app/us/en/home/adventure/${slug}'
    2. itemPath = 'root/responsivegrid'

    Hierdoor krijgt de component ResponsiveGrid de opdracht om de inhoud ervan op te halen uit de AEM-bron:

    1. /content/wknd-app/us/en/home/adventure/${slug}/jcr:content/root/responsivegrid

Werk AdventureDetail.js bij met de volgende regels:

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

Het bestand AdventureDetail.js moet er als volgt uitzien:

AdventureDetail.js

Auteur van de container in AEM

Nu <ResponsiveGrid...> op zijn plaats is en de pagePath dynamisch is ingesteld op basis van het avontuur dat wordt gerenderd, proberen we de inhoud ervan te ontwerpen.

  1. Aanmelden bij AEM-auteur

  2. Navigeer aan Plaatsen > App WKND > gebruiken > en

  3. geeft WKND de pagina van het Huis van de App uit

    1. Navigeer aan de Bali Surf Camp route in het KUUROORD om het uit te geven
  4. Selecteer Voorproef van de wijze-selecteur in top-right

  5. Tik op Bali Surf Camp kaart in het KUUROORD om aan zijn route te navigeren

  6. Selecteer uitgeven van de wijze-selecteur

  7. Bepaal de plaats van de Container van de Lay-out editable gebied recht boven de Reis

  8. Open de zijbar van de Redacteur van de Pagina, en selecteer de mening van Componenten

  9. Sleep enkele toegelaten componenten in de Container van de Lay-out

    1. Afbeelding
    2. Tekst
    3. Titel

    En creeer wat promotiemateriaal. Het zou er ongeveer als volgt kunnen uitzien:

    Bali Adventure Detail Authoring

  10. Voorproef uw veranderingen in de Redacteur van de Pagina van AEM

  11. Vernieuw de WKND App die plaatselijk op http://localhost:3000loopt, navigeer aan de Bali Surf Camp route om de authored veranderingen te zien!

    Verre SPA Bali

Wanneer het navigeren aan een avontuurdetailroute die geen in kaart gebrachte Pagina van AEM heeft, is er geen auteursbaarheid op die routeinstantie. Om auteursrecht op deze pagina's toe te laten, maak eenvoudig een Pagina van AEM met de passende naam onder de pagina van het Vontuur!

Gefeliciteerd!

Gefeliciteerd! U hebt auteurscapaciteit aan dynamische routes in het KUUUROORD toegevoegd!

  • De component ResponsiveGrid van de component AEM React Editable toegevoegd aan een dynamische route
  • AEM-pagina's gemaakt ter ondersteuning van het ontwerpen van twee specifieke routes in het SPA (Bali Surf Camp en Beervana in Portland)
  • Geautoriseerde inhoud op de dynamische Bali Surf Camp route!

U hebt nu het onderzoeken van de eerste stappen van hoe de Redacteur van AEM SPA kan worden gebruikt om specifieke editable gebieden aan een Verre KUUROORD toe te voegen!

recommendation-more-help
e25b6834-e87f-4ff3-ba56-4cd16cdfdec4