Teilen Sie diesen Artikel:

Blog
Aug 07, 20244 min read

Einzelne Verzeichniskomponenten in Drupal core: Ein umfassender Überblick

Nikolay Tsekov

Operativer Geschäftsführer

Einzelne Verzeichniskomponenten in Drupal core: Ein umfassender Überblick

Drupal ist für seine Robustheit und Flexibilität bekannt und entwickelt sich ständig weiter, indem es Entwicklern innovative Werkzeuge zur Verfügung stellt, um ihre Arbeitsabläufe zu optimieren. Eine der wichtigsten Neuerungen der letzten Versionen ist die Einführung von Single Directory Components (SDC) in Drupal Core. Diese Funktion verspricht, den Entwicklungsprozess zu vereinfachen, die Wiederverwendbarkeit von Komponenten zu verbessern und das Gesamterlebnis des Themas zu steigern. In diesem Artikel erfahren Sie, was SDCs sind, welche Vorteile sie bieten und wie Sie sie in Ihren Drupal-Projekten implementieren können.

Was sind Single Directory Components?

Single Directory Components in Drupal sind eine Möglichkeit, alle notwendigen Dateien für eine Komponente in einem einzigen Verzeichnis zu kapseln. Dazu gehören die Vorlagen, Stile, JS- und Konfigurationsdateien der Komponente. Indem Komponenten auf diese Weise organisiert werden, können Entwickler sie effizienter verwalten, wiederverwenden und pflegen.

Vorteile von Einzelverzeichniskomponenten

Modularität und Wiederverwendbarkeit

  • SDCs fördern eine modulare Architektur, bei der Komponenten leicht in verschiedenen Teilen der Website wiederverwendet werden können, was Redundanz und Wartung reduziert.

Verbesserte Wartbarkeit

  • Da sich alle komponentenbezogenen Dateien in einem Verzeichnis befinden, sind sie leichter zu finden und zu aktualisieren, was zu einer verbesserten Wartbarkeit führt.

Stromlinienförmiger Entwicklungs-Workflow

  • SDCs vereinfachen den Entwicklungs-Workflow, indem sie die Streuung von Dateien über verschiedene Verzeichnisse reduzieren. Diese Organisation passt gut zu den modernen Praktiken der Frontend-Entwicklung.

Konsistenz

  • Durch die Kapselung von Stilen, Skripten und Templates können Entwickler eine konsistente Implementierung von Komponenten auf der gesamten Website sicherstellen.

Implementierung von Einzelverzeichnis-Komponenten in Drupal

Jede Komponente benötigt ein einzelnes Verzeichnis für ihre Assets. Dieses Verzeichnis muss in einem components/ Unterverzeichnis des Verzeichnisses Ihres Themes oder Moduls liegen (damit Drupal es finden kann). Eine {NAME}.component.yml Datei mit Metadaten über die Komponente. Das Erstellen eines Schemas in der {NAME}.component.yml ist für Module obligatorisch, für Themes jedoch optional. Es ist jedoch sehr empfehlenswert.

Wählen Sie einen Namen für Ihre Komponente. Wir werden button für unser Beispiel verwenden. Er sollte innerhalb des Themes eindeutig sein. Komponenten werden mit Namensraum versehen, so dass mehrere verschiedene Themes eine button Komponente deklarieren können.

button.component.yml

$schema: https://git.drupalcode.org/project/drupal/-/raw/10.1.x/core/modules/sdc/src/metadata.schema.json
name: Aufruf zur Aktion
description: Aufruf zum Handeln Schaltfläche
props:
  Typ: Objekt
  erforderlich:
    - Text
  Eigenschaften:
    text:
      Typ: String
      Titel: Text-Schaltfläche
    Modifikatoren:
      Typ: Array
      Elemente:
        Typ: String
      title: Klassennamen

Dann müssen wir die HTML-Struktur Ihrer Komponente in der Twig-Vorlagendatei definieren.

button.twig


  {{ text }}

Lassen Sie uns etwas CSS auf diese Schaltfläche anwenden, um ihr ein ansprechenderes Aussehen zu verleihen. Alles, was Sie tun müssen, ist eine CSS-Datei im Komponentenverzeichnis zu erstellen, die den Namen Ihrer Komponente enthält.

button.css

.btn {
  background-color: #007bff;
  Farbe: weiß;
  padding: 10px 20px;
  border: keine;
  border-radius: 4px;
  Cursor: Zeiger;
  &.primary {
    background-color: #0056b3;
  }
  &.secondary {
    background-color: #6c757d;
  }
}

Wir haben die folgende Dateistruktur für die neue Button-Komponente in unserem Theme:

Image
button component

Um eine Komponente zu verwenden, müssen wir die Komponenten-ID kennen. Dies ist der Maschinenname des Moduls oder Themas, das die Komponente bereitstellt, sowie der Name der Komponente selbst, getrennt durch einen Doppelpunkt. Beispiele:

{Modul}:{Komponente} 
some_custom_module:button: wobei some_custom_module der Name des Moduls und button der Name der Komponente ist
olivero:teaser: wobei olivero der Name des Themes und teaser der Name der Komponente ist

In unserem Fall werden wir die Komponente direkt in der Twig-Vorlage verwenden und das {% include %}-Schlüsselwort verwenden. Bearbeiten Sie die Datei node.html.twig und fügen Sie einfach den folgenden Code am Ende ein:

 {% include 'theme_name:button' with { text: 'Click Me', modifiers: ['primary'] } only %}

Damit wird unsere Button-Komponente auf der Node-Seite eingebunden. Hier ist das Ergebnis.

Image
example button component

 

Erfahren Sie mehr über die anderen neuen Funktionen von Drupal 11 hier.

Fazit

Die Einführung von Single Directory Components in Drupal Core ist ein bedeutender Schritt zur Modernisierung des Frontend-Entwicklungsworkflows in Drupal. Durch die Konsolidierung aller komponentenbezogenen Dateien in einem einzigen Verzeichnis können Entwickler eine größere Modularität, Wartbarkeit und Konsistenz erreichen. Die Verwendung von SDCs rationalisiert nicht nur den Entwicklungsprozess, sondern passt Drupal auch an moderne Webentwicklungspraktiken an und macht es zu einem leistungsfähigeren und benutzerfreundlicheren CMS.

Während sich Drupal weiterentwickelt, werden Funktionen wie SDCs zweifellos eine entscheidende Rolle bei der Verbesserung der Entwicklererfahrung und der Gesamtqualität von Drupal-Websites spielen. Unsere Drupal-Agentur ist hier, um Ihnen dabei zu helfen, Single Directory Components zu erforschen und noch heute mit dem Aufbau modularer und wartbarer Drupal-Websites zu beginnen!

ABONNIEREN SIE UNSEREN NEWSLETTER

Teilen Sie diesen Artikel:

ABONNIEREN SIE UNSEREN NEWSLETTER

Verwandte Blog-Artikel

    Drupal 11: Was ist zu erwarten? Umfassender Leitfaden zu neuen Funktionen und Erweiterungen

    Blog

    Drupal 11: Was ist zu erwarten? Umfassender Leitfaden zu neuen Funktionen und Erweiterungen

    Drupal 11 ist da! Entdecken Sie in diesem Artikel die spannenden Funktionen und Verbesserungen. Führen Sie jetzt ein Upgrade durch, um Ihre digitale Strategie mit dem Experten-Support von Bulcode neu zu definieren.

    Geschrieben von Svetoslava Angelova
    Aug 05, 20247 min read
    Drupal-Versionen verstehen und eine Migrationsstrategie planen

    Blog

    Drupal-Versionen verstehen und eine Migrationsstrategie planen

    Erkennen Sie die verschiedenen Drupal-Versionen und halten Sie Ihre Website auf dem neuesten Stand.

    Geschrieben von Svetoslava Angelova
    Aug 08, 20234 min read
    Drupal 9 Bild in WebP-Format konvertieren

    Blog

    Drupal 9 Bild in WebP-Format konvertieren

    WebP ist in der Lage, die Datenkomprimierung auf ein neues Niveau zu heben, da es einen Vorhersagemodus in den JPG-Prozess einfügt, der die Leistung seines JPG-Verwandten deutlich übertrifft. Und wir haben die Ergebnisse, um dies zu beweisen.

    Geschrieben von Vasil Boychev
    Aug 08, 20237 min read
    Die Websites der Flughäfen Varna und Burgas verwenden React-Komponenten in Drupal

    Blog

    Die Websites der Flughäfen Varna und Burgas verwenden React-Komponenten in Drupal

    Drupal ist ein modulares System, dessen Funktionen an viele verschiedene Anforderungen angepasst werden können, was für Projekte der öffentlichen Verwaltung besonders wichtig ist.

    Geschrieben von Mihail Shahov
    Aug 08, 20234 min read
    Kopfloses Drupal mit Next.js - einfaches Beispiel für einen Durchgang

    Blog

    Kopfloses Drupal mit Next.js - einfaches Beispiel für einen Durchgang

    Der Trend in letzter Zeit, in der Web-Entwicklung im Allgemeinen, und folglich in der Drupal-Entwicklung ist die Verwendung der Technologie headless. Der Trend in letzter Zeit, in der Web-Entwicklung im Allgemeinen, und folglich in Drupal-Entwicklung ist die Technologie zu verwenden, headless.

    Geschrieben von Mihail Shahov
    Aug 07, 20237 min read
    Maximaliseer uw Drupal-site: Het potentieel van Drupal 10 benutten

    Blog

    Maximaliseer uw Drupal-site: Het potentieel van Drupal 10 benutten

    Schöpfen Sie das volle Potenzial Ihrer Website aus! Entdecken Sie die bahnbrechenden Funktionen von Drupal 10, von atemberaubenden Designs bis zur nahtlosen Erstellung von Inhalten. Verbessern Sie Ihre Webentwicklung und fesseln Sie Ihr Publikum - es ist an der Zeit, zu migrieren und erfolgreich zu sein!

    Geschrieben von Svetoslava Angelova
    Oct 24, 20233 min read
    10 bewährte SEO-Taktiken zur Verbesserung der Sichtbarkeit Ihrer Drupal-Website

    Blog

    10 bewährte SEO-Taktiken zur Verbesserung der Sichtbarkeit Ihrer Drupal-Website

    Überladen Sie Ihre Drupal-Website: Bewährte SEO-Taktiken für den Online-Erfolg! Von blitzschnellen Ladezeiten bis hin zu fesselnden Inhalten - entdecken Sie die Geheimnisse, wie Sie die Suchergebnisse dominieren und mit Ihrer Drupal-Website gewinnen.

    Geschrieben von Svetoslava Angelova
    Nov 03, 202310 min read
     Erkunden Sie die Drupal-Gemeinschaft: Ressourcen, Unterstützung und Dokumentation

    Blog

    Erkunden Sie die Drupal-Gemeinschaft: Ressourcen, Unterstützung und Dokumentation

    Entdecken Sie die lebendige Drupal-Community und erschließen Sie das Potenzial dieses leistungsstarken CMS! Entdecken Sie unschätzbare Ressourcen, Support-Foren, Module und eine umfassende Dokumentation. Treten Sie einem weltweiten Netzwerk von Web-Enthusiasten bei und begeben Sie sich auf eine Reise der Web-Entwicklung und -Innovation.

    Geschrieben von Svetoslava Angelova
    Nov 08, 20234 min read
    Entfaltung der Leistungsfähigkeit von Drupal: Ihr kompletter Leitfaden zum digitalen Erfolg

    Blog

    Entfaltung der Leistungsfähigkeit von Drupal: Ihr kompletter Leitfaden zum digitalen Erfolg

    Entdecken Sie die Leistungsfähigkeit von Drupal, einem Open-Source-Content-Management-System, das über die herkömmliche Website-Erstellung hinausgeht. Mit unvergleichlicher Flexibilität, Skalierbarkeit und reichhaltigen Funktionen passt sich Drupal an jede digitale Anforderung an, von persönlichen Blogs bis hin zu komplexen E-Commerce-Sites.

    Geschrieben von Svetoslava Angelova
    Oct 09, 20233 min read
    Drupal 7-Migration: Auf dem Weg zu einer zukunftsfähigen Website

    Blog

    Drupal 7-Migration: Auf dem Weg zu einer zukunftsfähigen Website

    Betreiben Sie Ihre Website noch mit Drupal 7? Wenn ja, dann haben Sie vielleicht die Alarmglocken läuten hören - das Drupal 7 End of Life (EOL) ist da. Aber was genau bedeutet das für Ihre Website und Ihren Online-Auftritt? In diesem umfassenden Leitfaden gehen wir auf die Feinheiten von Drupal 7 EOL ein, auf die Dringlichkeit der Migration, auf die Vorteile, die Sie aus einem Upgrade auf Drupal 9 oder 10 ziehen können, und auf alles dazwischen. Also, schnallen Sie sich an, wenn wir uns auf eine Reise begeben, die Ihre digitale Landschaft verändern wird.

    Geschrieben von Mihail Shahov
    Oct 12, 20236 min read
    Enthüllung des Power-Duos: Next.js als Headless-Frontend von Drupal 10

    Blog

    Enthüllung des Power-Duos: Next.js als Headless-Frontend von Drupal 10

    Entdecken Sie die dynamische Synergie zwischen Drupal 10 und Next.js, da diese leistungsstarke Kombination die Landschaft der Webentwicklung neu gestaltet. Next.js, ein Open-Source-Framework auf React-Basis, ist nahtlos als Headless-Frontend in Drupal 10 integriert und bietet eine Fülle von Vorteilen. Von verbesserter Leistung mit Funktionen wie automatischer Codeaufteilung und serverseitigem Rendering bis hin zu flexiblem Design und SEO-freundlichen Funktionen ermöglicht diese Zusammenarbeit Entwicklern die Erstellung leistungsstarker, skalierbarer und visuell ansprechender Webanwendungen. Die effiziente Inhaltsverwaltung von Drupal 10 in Verbindung mit der Anpassungsfähigkeit von Next.js an Trends gewährleistet einen innovativen Entwicklungsansatz und positioniert dieses Tandem an der Spitze der modernen Webentwicklungspraktiken. Umarmen Sie die Zukunft mit der Kombination aus Drupal 10 und Next.js und definieren Sie neu, wie wir dynamische Online-Erlebnisse angehen und gestalten.

    Geschrieben von Todor Kolev
    Feb 09, 20245 min read
    Tutorial zum Modul Config Split für Drupal

    Blog

    Tutorial zum Modul Config Split für Drupal

    Sehr oft müssen wir als Entwickler mit verschiedenen Umgebungen arbeiten. Das kann manchmal zu (un)erwarteten Problemen führen. In Drupal 8 verwenden wir das Konfigurationssystem, das ziemlich gut funktioniert, aber es gibt Fälle, in denen die Einstellungen für die lokale und eine andere Umgebung unterschiedlich sein sollten.

    Geschrieben von Ivaylo Tsandev
    Aug 08, 20237 min read

    KONTAKT AUFNEHMEN

    Sie haben ein Projekt, das Sie gerne starten würden?