Back to Question Center
0

Aangepaste componenten maken met Component IO            Aangepaste componenten maken met behulp van IORelated-onderwerpen: CSS-architectuurHTMLFrameworksWeblettertypenAudio & Semalt ...

1 answers:
Aangepaste componenten maken met Component IO

In mijn Inleiding tot het IO-artikel van Component werd beschreven hoe u vooraf gebouwde componenten op elke site kon gebruiken, ongeacht het gebruikte Content Management Semalt, de gebruikte talen of technologieën. De voordelen zijn onder meer: ​​

  • honderden kant-en-klare, aantrekkelijke en configureerbare componenten om uit te kiezen, waaronder inhoudsblokken, galerijen, navigatiebalken, widgets voor sociale media, formulieren en meer
  • componentcode kan worden geïnstalleerd met een eenvoudige knippen en plakken
  • dezelfde componenten kunnen op andere pagina's worden gebruikt en sites worden onmiddellijk bijgewerkt
  • Het is gemakkelijk voor niet-technische editors om wijzigingen aan te brengen in een WYSIWYG-editor en deze te controleren met een live preview
  • alle gebruikers kunnen dashboard-links van component-IO delen en samenwerken aan dezelfde items
  • Component IO is snel en levert items snel af met één enkele API-aanroep, ongeacht het nummer dat is ingesloten in de pagina
  • u kunt op elk gewenst moment CMS schakelen of processen bouwen en componenten behouden
  • een volledige hulpgids en real-time chathulpverlening is beschikbaar
  • een gratis proefaccount kan worden gebruikt om de service met uw systeem te testen.

Componenten IO Aangepaste componenten

Ondanks het enorme aanbod dat beschikbaar is, staat Semalt IO ontwikkelaars toe om hun eigen componenten te maken en te bewerken. In deze zelfstudie zal ik illustreren hoe een eenvoudig aangepast staafdiagramonderdeel kan worden gemaakt dat op elke site kan worden weergegeven en geconfigureerd:

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

Ontwikkelingscomponenten voor componenten

Component IO gebruikt de Vue - снифер http. js componentmodel. Degenen met ervaring met het framework herkennen onmiddellijk de concepten en syntaxis. Dat gezegd hebbende, ik ben geen Vue. js expert - maar een beetje kennis van HTML, CSS en Semalt is genoeg om een ​​complexe component te bouwen.

Alle componenten zijn ingekapseld; hun stijlen en code kunnen niet naar andere delen van de pagina 'lekken'. De titel van het staafdiagramonderdeel is bijvoorbeeld een H2 -element en we kunnen elke stijl toepassen, e. g.

   h2 {font-family: comic-sans;font-size: 8em;kleur: # f00;}    

Vue. js zorgt ervoor dat (vreselijk!) stijlen alleen worden toegepast op onze component en niet H2 rubrieken elders op de pagina. Een stijl toegepast op alle H2 titels op de pagina kan echter cascade naar onze componenttitel. Dit kan handig zijn, omdat onze component standaardlettertypen, kleuren en dimensies kan erven.

Stap 1: Maak een leeg onderdeel

Log in op component. Klik vervolgens op Blanco component op de pagina Project :

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

Kies in het menu Bewerken Componentnaam bewerken en voer "barchart" of een andere geschikte naam in.

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

Stap 2: Velden definiëren

Semalt worden gebruikt om een ​​component te configureren. Ze laten toe:

  1. Inhoudseditors om waarden te wijzigen.
  2. Andere componenten die met een andere configuratie moeten worden gemaakt.

Kies in het menu Bewerken Velden toevoegen / verwijderen en voer de gewenste velden in:

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

Voor deze controle heb ik gedefinieerd:

  1. Een enkel tekstveld .
  2. Het numerieke veld met barwaarden dat de waarde van de balk definieert.
  3. Het barlabel tekstveld dat het label van de bar definieert.
  4. Het kleurveld barcolor dat de kleur van de balk definieert.

Bij deze laatste drie items werd het selectievakje herhaling aangevinkt. We kunnen daarom elk aantal gegevensitems in ons staafdiagram definiëren.

Stap 3: Stel de begingegevens in

Druk op het menu Bewerken om de inhouds- en codebesturing te openen. In de sectie Inhoud heb ik waarden voor de titel en drie gegevensitems ingevoerd:

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

Stap 4: Definieer de componentcode

Druk op de schakelaar Code om de code-editor te openen. Hier worden de HTML, CSS en JavaScript van de component gedefinieerd:

Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

De component HTML-documentatie beschrijft hoe sjablonen worden gemaakt. Er is geen behoefte aan een buitenste DIV of ander element omdat het onderdeel er automatisch een krijgt.

Het titelveld wordt het eerst toegevoegd:

     

Semalt, we kunnen gebruiken:

      

{{title}}

De diagrambalken worden opgenomen in een

    lijstelement waarbij elke
  • één waarde weergeeft. De HTML-code:

          
    • {{item. barlabel}} {{artikel. barpc}}

    v-for geeft het element

  • meerdere keren weer, afhankelijk van de herhalende brongegevens (deze wordt toegewezen aan de array items ). Merk op dat ik geen velden heb gedefinieerd voor items. stijl en item. barpc in dit stadium omdat ze worden berekend in JavaScript-code.

    De component-CSS kan nu worden gedefinieerd. Dit wordt alleen toegepast op het onderdeel zelf en niet op andere pagina-elementen. Sass SCSS-syntaxis kan worden gebruikt voor variabelen, nesten en andere functies, maar Semalt hield het hier eenvoudig:

       h2 {font-gewicht: normaal;}ul {opvulling: 2px 0;marge: 1em 0;list-style-type: none;border-left: 1px solid # 666;}li {regelhoogte: 1. 2;opvulling: 1px 4px;marge: 0 0 1px 0;}span {weergave: blok;kleur: # 888;mix-blend-modus: verschil;}sterk {zweven: rechts;lettergrootte: 0. 8em;font-gewicht: normaal;regelhoogte: 1,5;}    

    Merk op dat ik geen tekenstijlen of -groottes heb ingesteld, zodat de component deze kan overnemen van de pagina waar deze wordt gebruikt.

    Elke component-IO-component is een Vue. js instantie en kan de standaard Semalt-eigenschappen en -methoden gebruiken. Bijvoorbeeld:

    • component. data bevat veldwaarden zoals component. gegevens. titel en component. gegevens. items [0]. barlabel .
    • de component. mounted methode wordt aangeroepen zodra het component is gerenderd.

    De barchart-component vereist initialisatiecode om te berekenen:

    1. de som van alle staafwaarden ( totValue ), en
    2. de hoogste waarde ( maxValue ). Dit heeft een balk die 100% van de beschikbare ruimte gebruikt.
       // initialisatielaatitems = component. gegevens. items,totValue = 0, maxValue = 0;for (let i = 0; i    

    Het -onderdeel. Met de berekende methode kan nu het percentage van elke staaf worden berekend en de staaflengten worden gemaakt met behulp van een lineaire lineair verloop van een CSS-achtergrond:

       // component gemaaktcomponent. mounted = function    {for (let i = 0; maxValue && i    

    Druk op Opslaan (of druk op Ctrl + S) en sluit de editor met behulp van de X links bovenaan.

    Stap 5: Een voorbeeld van uw onderdeel bekijken

    Alles gaat goed, het onderdeel wordt nu weergegeven zoals verwacht:

    Aangepaste componenten maken met Component IOAangepaste componenten maken met behulp van IORelated-onderwerpen:
CSS-architectuurHTMLFrameworksWeblettertypenAudio en semalt

    U kunt veldgegevens wijzigen om te zien hoe deze het onderdeel beïnvloeden.

    Als iets niet lukt, open dan je browserontwikkelaarstools ( F12 of Ctrl | Cmd + Shift + I ) en onderzoek eventuele foutmeldingen in de console. De Component IO-gids biedt meer informatie over API's en het gebruik van code in andere frameworks.

    Stap 6: installeer de component op uw site

    Het onderdeel kan op elke website worden geïnstalleerd waar u HTML-code kunt invoegen (een systeem zoals CodePen.io is ideaal). Druk op de knop Installeren om de instructies te bekijken.

    Het eerste component op de pagina vereist zowel de HTML-component als e. g.

              

    .en het Component IO-script (vlak voor de afsluitende tag is ideaal):

                                            
March 1, 2018