Blokken maken met een instrument voor gebruik met de universele editor create-block

Leer hoe u blokken maakt die van instrumenten worden voorzien voor gebruik met de Universal Editor in WYSIWYG-ontwerptoepassingen voor Edge Delivery Services.

Vereisten prerequisites

Deze gids verstrekt geleidelijke instructies voor hoe te om blokken tot stand te brengen van instrumenten voor de Universele Redacteur in het auteursrecht van WYSIWYG met Edge Delivery Services projecten. Het omvat het toevoegen van componenten, het laden van componentendefinities in de Universele Redacteur, het publiceren pagina's, het uitvoeren van blokdecoratie en stijlen, het brengen van de veranderingen in productie, en het verifiëren van hen. Op de voltooiing van deze gids, kunt u een nieuw blok voor uw eigen project tot stand brengen en opstellen.

Deze gids vereist noodzakelijkerwijs bestaande kennis van het schrijven van WYSIWYG met Edge Delivery Services projecten evenals de Universele Redacteur. Voordat u met deze handleiding begint, moet u al toegang hebben tot Edge Delivery Services en vertrouwd zijn met de basisbeginselen, zoals:

Deze gids bouwt op het werk voort dat in de Begonnen Gids van de Ontwikkelaar wordt gedaan Begonnen voor het auteursrecht van WYSIWYG met Edge Delivery Servicesgids.

Een nieuw blok toevoegen aan uw project add-block

In deze handleiding gaat u een blok maken om een gedenkwaardig citaat op uw pagina weer te geven.

Om dit voorbeeld te vereenvoudigen, worden alle wijzigingen aangebracht in de main -vertakking van de projectopslagplaats. Natuurlijk voor uw daadwerkelijke project, zou u ontwikkeling beste praktijkenmoeten volgen door zich op een verschillende tak te ontwikkelen en alle veranderingen te herzien via trekkingsverzoek alvorens aan main samen te voegen.

De Adobe beveelt aan dat u blokken in een driefasenaanpak ontwikkelt:

  1. Maak de definitie en het model voor het blok, herzie het, en breng het aan productie.
  2. Maak inhoud met het nieuwe blok.
  3. Implementeer de decoratie en stijlen voor het nieuwe blok.

Het volgende citaatblokvoorbeeld volgt deze benadering.

Blokdefinitie en -model maken create-block-model

1. Kloon het project GitHub plaatselijk dat u in de Begonnen Gids van de Ontwikkelaar die voor WYSIWYG creeerde creeerde met Edge Delivery Servicesgids en open het in een redacteur van uw keus.

  • Microsoft-code wordt hier gebruikt ter illustratie.

Klonend het project

2&punt; geef het component-definition.json dossier bij de wortel van het project uit en voeg de volgende definitie voor uw nieuw citaatblok toe en bewaar het dossier.

JSON Voorbeeld
code language-json
{
  "title": "Quote",
  "id": "quote",
  "plugins": {
    "xwalk": {
      "page": {
        "resourceType": "core/franklin/components/block/v1/block",
        "template": {
          "name": "Quote",
          "model": "quote",
          "quote": "<p>Think, McFly! Think!</p>",
          "author": "Biff Tannen"
        }
      }
    }
  }
}
Screenshot
het uitgeven van het component-definitions.json- dossier om het citaatblok te bepalen

3&punt; geef het component-models.json dossier bij de wortel van het project uit en voeg de volgende modeldefinitievoor uw nieuw citaatblok toe en bewaar het dossier.

JSON Voorbeeld
code language-json
{
  "id": "quote",
  "fields": [
     {
       "component": "richtext",
       "name": "quote",
       "value": "",
       "label": "Quote",
       "valueType": "string"
     },
     {
       "component": "text",
       "valueType": "string",
       "name": "author",
       "label": "Author",
       "value": ""
     }
   ]
}
Screenshot
het uitgeven van het component-models.json- dossier om het model van het citaatblok te bepalen

4&punt; geef het component-filters.json dossier bij de wortel van het project uit en voeg het citaatblok aan de filterdefinitietoe om het blok toe te staan om aan om het even welke sectie worden toegevoegd en het dossier te bewaren.

JSON Voorbeeld
code language-json
{
  "id": "section",
  "components": [
    "text",
    "image",
    "button",
    "title",
    "hero",
    "cards",
    "columns",
    "quote"
   ]
}
Screenshot
het uitgeven van het component-filters.json- dossier om de filters voor het citaatblok te bepalen

5. met git past u deze wijzigingen toe op uw main -vertakking.

  • Het toewijzen aan main is alleen ter illustratie. volg beste praktijkenen gebruik een trekkingsverzoek voor werkelijk projectwerk.

Inhoud maken met het blok create-content

Nu uw basiscitaatblok wordt bepaald en aan het steekproefproject geëngageerd, kunt u een citaatblok aan een bestaande pagina toevoegen.

  1. Meld u aan bij AEM as a Cloud Service in een browser. Gebruikend de console van Plaatsen,navigeer aan de plaats die u in de Begonnen Gids van de Ontwikkelaar die voor WYSIWYG creeert authoring met Edge Delivery Servicesgids en selecteer een pagina.

    • In dit geval wordt index gebruikt voor illustratieve doeleinden.

    Selecterend de indexpagina in de console van Plaatsen

  2. Tik of klik uitgeven in de toolbar van de console en de Universele Redacteur opent.

    • Om de pagina te laden, kunt u Teken binnen met Adobe moeten tikken of klikken om aan AEM in de Universele Redacteur voor authentiek te verklaren.
  3. Selecteer een sectie in de Universal Editor. In het eigenschappen paneel, ontvang of klik voeg pictogram toe en selecteer dan uw nieuw Citaat blok van het menu.

    • Het voegt pictogram toe is een plus symbool.
    • U weet dat u een sectie hebt geselecteerd als het blauwe overzicht van het geselecteerde voorwerp een lusje genoemd Sectie heeft.
    • In dit voorbeeld, selecteert het tikken of het klikken lichtjes boven de rubriek 0} Lorem Ipsum een sectie die de rubriek en lorem ipsum tekst bevat.

    selecteer een sectie in de Universele Redacteur

  4. De pagina wordt opnieuw geladen en het aanhalingsteken wordt onder aan de geselecteerde sectie toegevoegd met de standaardinhoud die in het component-definitions.json -bestand is opgegeven.

    • U kunt het aanhalingsteken selecteren en bewerken als elk ander blok op zijn plaats of in het deelvenster Eigenschappen.
    • Stijlen wordt in een volgende stap toegepast.

    de pagina met het nieuwe citaatblok in de geselecteerde sectie

  5. Zodra u met de inhoud van uw citaat wordt tevredengesteld, kunt u de pagina publiceren door te tikken of de knoop van Publish in de toolbar van de Universele Redacteur te klikken.

  6. Controleer of de inhoud is gepubliceerd door naar de gepubliceerde pagina te navigeren. De koppeling is vergelijkbaar met https://<branch>--<repo>--<owner>.hlx.page

    het gepubliceerde citaat

Het blok opmaken style-block

Nu u een werkend citaatblok hebt kunt u het stileren toepassen.

1. Ga terug naar de editor voor uw project.

2&punt; maak een map quote onder de map blocks .

creeer een citaatomslag

3&punt; in de nieuwe quote map voegt u een quote.js -bestand toe om blokdecoratie te implementeren door de volgende JavaScript toe te voegen en het bestand op te slaan.

Voorbeeld van JavaScript
code language-javascript
export default function decorate(block) {
  const [quoteWrapper] = block.children;

  const blockquote = document.createElement('blockquote');
  blockquote.textContent = quoteWrapper.textContent.trim();
  quoteWrapper.replaceChildren(blockquote);
}
Screenshot
Toevoegend JavaScript om het blok te versieren

4&punt; voeg in de map quote een quote.css -bestand toe om de opmaak voor het blok te definiëren door de volgende CSS-code toe te voegen en het bestand op te slaan.

CSS Voorbeeld
code language-css
.block.quote {
    background-color: #ccc;
    padding: 0 0 24px;
    display: flex;
    flex-direction: column;
    margin: 1rem 0;
}

.block.quote blockquote {
    margin: 16px;
    text-indent: 0;
}

.block.quote > div:last-child > div {
    margin: 0 16px;
    font-size: small;
    font-style: italic;
    position: relative;
}

.block.quote > div:last-child > div::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -8px;
    height: 5px;
    width: 30px;
    background-color: darkgray;
}
Screenshot
Toevoegend CSS om het blokstileren te bepalen

5. met git past u deze wijzigingen toe op uw main -vertakking.

  • Het toewijzen aan main is alleen ter illustratie. volg beste praktijkenen gebruik een trekkingsverzoek voor werkelijk projectwerk.

6&punt; Keer terug naar uw browser lusje van de Universele Redacteur waar u de pagina van uw project uitgeeft en herlaadt de pagina om uw gestileerde blok te bekijken.

7&punt; Zie het nu gestileerde citaatblok op de pagina.

het gestileerde citaatblok in de Universele Redacteur

8&punt; controleer of de wijzigingen zijn doorgevoerd in de productie door naar de gepubliceerde pagina te navigeren. De koppeling is vergelijkbaar met https://<branch>--<repo>--<owner>.hlx.page

het gepubliceerde en gestileerde citaatblok

Gefeliciteerd! U hebt nu een volledig werkend en gestileerd citaatblok. U kunt dit voorbeeld gebruiken als basis voor het ontwerpen van uw eigen projectspecifieke blokken.

Blokopties block-options

Als u een blok nodig hebt om te kijken of zich lichtjes verschillend gedraagt gebaseerd op bepaalde omstandigheden, maar niet verschillend genoeg om een nieuw blok op zich te worden, kunt u auteurs van blokopties laten kiezen.

Door een eigenschap classes aan het blok toe te voegen, wordt de eigenschap weergegeven in de tabelkop voor eenvoudige blokken of als een lijst met waarden voor items in een containerblok.

{
  "id": "simpleMarquee",
  "fields": [
    {
      "component": "text",
      "valueType": "string",
      "name": "marqueeText",
      "value": "",
      "label": "Marquee text",
      "description": "The text you want shown in your marquee"
    },
    {
      "component": "select",
      "name": "classes",
      "value": "",
      "label": "Background Color",
      "description": "The marquee background color",
      "valueType": "string",
      "options": [
        {
          "name": "Red",
          "value": "bg-red"
        },
        {
          "name": "Green",
          "value": "bg-green"
        },
        {
          "name": "Blue",
          "value": "bg-blue"
        }
      ]
    }
  ]
}

Andere werktakken gebruiken other-branches

In deze handleiding hebt u zich voor de eenvoud rechtstreeks vastgelegd op de main -vertakking. Voor experimenteren in een voorbeeldopslagplaats, is dit gewoonlijk geen kwestie. Voor werkelijk projectwerk, zou u ontwikkeling beste praktijkenmoeten volgen door zich op een verschillende tak te ontwikkelen en alle veranderingen te herzien via trekkingsverzoek alvorens aan main samen te voegen.

Wanneer u zich niet ontwikkelt op de main -vertakking, kunt u ?ref=<branch> toevoegen in de locatiebalk van de universele editor om de pagina vanuit uw vertakking te laden. <branch> is de vertakkingsnaam zoals deze zou worden gebruikt voor de voorvertoning van uw project of voor live URL's, bijvoorbeeld https://<branch>--<repo>--<owner>.hlx.page .

Het publiceren van inhoud met een nieuw model wordt slechts gesteund wanneer het model aan de main tak wordt samengevoegd.

De blokken opnieuw gebruiken voor op documenten gebaseerde ontwerpen reusing-blocks

U kunt de blokken die u maakt voor WYSIWYG-authoring, gebruiken met de Universal Editor voor op document gebaseerde authoring als u zich aan hetzelfde inhoudsmodel houdt.

Gelieve te zien het document Blokken voor WYSIWYG en op document-Gebaseerde Authoringvoor meer informatie.

Volgende stappen next-steps

Nu u weet hoe u blokken kunt maken, is het van essentieel belang dat u begrijpt hoe u inhoud op semantische wijze modelleert om een slanke ontwikkelaarservaring te bereiken.

Gelieve te zien het document Modelleren van de Inhoud voor WYSIWYG authoring met de Projecten van Edge Delivery Servicesom te leren hoe de inhoud modellering voor WYSIWYG creatie met Edge Delivery Services projecten werkt.

TIP
Voor een analyse van begin tot eind van het creëren van een nieuw project van Edge Delivery Services dat voor WYSIWYG creatie met AEM as a Cloud Service als inhoudsbron wordt toegelaten, gelieve te bekijken dit AEM webinar GEMs.
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab