Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Twig-Komponenten

Was ibexa/twig-components einem DXP-Projekt hinzufügt - benannte Gruppen kleiner Komponenten (script, stylesheet, template, controller, html, menu), in YAML konfiguriert und mit ibexa_twig_component_group ausgegeben…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/twig-components.md

On this page

This page is a translation. Read the English original

Twig-Komponenten

Diese Seite richtet sich an Entwickler, die kleine Ausgabestücke an Stellen ergänzen möchten, die ein Template oder ein Bundle vorbereitet hat, ohne dieses Template zu ändern. Das Paket ibexa/twig-components ist Teil des Metapakets der DXP. Die Angaben unten wurden aus seiner Konfigurationsklasse und dem kommentierten Beispiel gelesen, das das Rezept nach config/packages/ibexa_twig_components.yaml schreibt.

Inhalt

  1. Die Idee
  2. Komponententypen
  3. Eine Gruppe konfigurieren
  4. Ausgabe
  5. Guter Gebrauch

Die Idee

Ein Template gibt eine benannte Gruppe aus. Jedes Bundle und Ihr Projekt können dieser Gruppe Komponenten hinzufügen. Die Gruppe gibt jede Komponente in der Reihenfolge von priority aus. Ein Layout kann so zum Beispiel eine Gruppe "head" anbieten, in die mehrere Pakete ihre Stylesheet-Links eintragen.

Komponententypen

TypGibt aus
scriptein <script>-Element für eine Datei
stylesheetein <link rel="stylesheet">-Element
templateein Twig-Template mit Parametern
controllerdie Ausgabe eines Controllers
htmlein festes Stück HTML
menuein Menü

Jeder andere type wird beim Bauen des Containers mit "Invalid type ... Allowed types: ..." abgelehnt.

Eine Gruppe konfigurieren

# config/packages/ibexa_twig_components.yaml
ibexa_twig_components:
    exp_site_head:                       # the group name
        exp_site_print_css:              # the component name
            type: stylesheet
            priority: 10
            arguments:
                href: '/assets/app/print.css'
        exp_site_notice:
            type: template
            arguments:
                template: '@ibexadesign/parts/notice.html.twig'

Jede Komponente braucht type und arguments; priority ist standardmäßig 0. Die Argumente, die jeder Typ annimmt, sind die Konstruktorargumente seiner Komponentenklasse unter vendor/ibexa/twig-components/src/lib/Component/; lesen Sie sie, bevor Sie eine konfigurieren.

Ausgabe

<head>
    {{ ibexa_twig_component_group('exp_site_head') }}
</head>

ibexa_twig_component(...) gibt eine einzelne Komponente aus.

Guter Gebrauch

  • Bevorzugen Sie Komponenten vom Typ stylesheet, script und template gegenüber html: Inline-Markup in der Konfiguration ist schwer zu prüfen, und Inline-Skripte und -Styles brechen eine strenge Content Security Policy.
  • Verwenden Sie für Ihre eigenen Gruppen und Komponenten Namen mit exp_; verwenden Sie nie einen Namen, den ein Bundle definiert hat, es sei denn, Sie möchten seiner Gruppe etwas hinzufügen.
  • Leeren Sie nach einer Änderung den Cache: Die Konfiguration wird in den Container kompiliert.

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x