TYPO3 Plugin:

mask_twig_nunjucks_connector

Masken-Zweig-Nunjucks-Anschluss für TYPO3

Diese TYPO3-Erweiterung integriert das Connection Tool Mask-Twig-Nunjucks. Damit können Sie Maskeninhaltselemente erstellen im Backend und verwenden Sie nunjucks Templates anstelle von fluid, um es zu rendern

Installation

Diese Erweiterung gilt noch nicht als stabil. Und eine Liste der Todos haben. Die Erweiterung wird zum Download mit composer über ein privates Repository zur Verfügung stehen.

Es unterstützt tempalte.html.twig und template.njk Dateien für Vorlagen.

Grundverwendung

Um diese Erweiterung zu nutzen, müssen Sie keine zusätzliche Konfiguration hinzufügen. Es kann sinnvoll sein, die Einstellung "rootTemplatePath" in der Erweiterung "twig_for_typo3" festzulegen, die von dieser abhängig ist erweiterung.

Die einzige Voraussetzung ist, dass die richtigen Namen eingehalten werden. Also sollte deine Nunjucks-Vorlage gespeichert werden in z.B. section_article\section-article.njk müssen Sie section_article auch als Schlüssel des Maskeninhaltselements setzen. Dasselbe gilt, wenn Sie z.B. eine Teaservariable in der Nunjucks-Vorlage haben sie müssen ein Feld mit Schlüssel-Teaser im Masken-Backend erstellen

Mapping-Konfiguration

Diese Erweiterung stellt eine Reihe von Funktionen zur Verfügung, mit deren Hilfe die Datenkompatibilität der Maskeninhalteelemente mit beliebigen nunjucks template.

  • Variablenzuordnung - ermöglicht die Zuordnung eines vorhandenen Datenbankfeldes zu Nunjucks Template-Variablen.
  • Benutzerdefinierte Viewhelpers-Klassen - Sie können benutzerdefinierte Viewhelper-Klassen als Art von Haken hinzufügen, um eine spezielle Handhabung zu erreichen felder bei Bedarf (z.B. Typolink erstellen).
  • Erstellen von Objekten aus verschachtelten Arrays - in typo3, wenn z.B. nur ein Bild an IRRE angehängt ist, wird es sein gespeichert wie:
Bild' => array((
    0' => \TYPO3\CMS\Core\Resource\FileReferenzobjekt
)

Dies führt dazu, dass du zum Beispiel eine image.0.src-Variable in der nunjucks-Vorlage haben musst. Um dies zu entfernen, kannst du eine spezielle Option setzen und dieses Array wird in:

image' => \TYPO3\CMS\Core\Resource\FileReferenzobjekt

Was einfacher und schöner ist, in nunjucks Vorlage als image.src zu handhaben

Sie können Felder wie folgt zuordnen

  plugin.tx_masktwignunjucksconnector {
  # [Datenbankfeld] =[viewhelper-Klasse]
      viewhelpers {
          #Handling (hook) für alle Daten vor jeder weiteren Änderung (alles könnte hier gemacht werden, wenn nötig)
          mask_section_article = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\SectionArticleViewHelper
          # Jedes Inhaltselement sollte separat abgebildet werden
          mask_section_article {
              #Du kannst viewhelpers für Tabelleneinträge hinzufügen
              tx_mask_content = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\ContentViewHelper
              #inside in some irre field
              tx_mask_content {
                  tx_mask_text = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\Format\HtmlViewHelper
                  # Sie können bei Bedarf auch Parameter an Ihr viewhelpers senden
                  tx_mask_date = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\Format\DateViewHelper, d.m.y
                  tx_mask_link {
                      tx_mask_href3 = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\UriViewHelper
                  }
              }
              tx_mask_link2 { {
                  tx_mask_href2 = Comwrap\MaskTwigNunjucksConnector\ViewHelpers\UriViewHelper
              }
          }
      }

      # [Template Variable] = [Datenbankfeld]
      variablen {
      # Jedes Inhaltselement sollte separat abgebildet werden
          mask_section_article {
              Überschrift = Überschrift
              unterzeile  = Unterzeile
              # Tabellennamen ist auch hier gut geeignet
              inhalt  = tx_mask_slider
          }
      }

      # Liste der benötigten Template-Variablen
      makeObjectIfOneInArray = tx_mask_link, tx_mask_img
  }

Wichtige Hinweise

  • Um Felder von Objekten abzubilden (wie z.B. Dateien, die Instanzen von FileReference sind), sollten Sie ihr Modell erweitern und eigene hinzufügen geht dorthin

F.E.

      öffentliche Funktion getSrc() {) {
           gibt $this->getOriginalFile()->getPublicUrl() zurück;
      }
  • Alle neuen Felder viewhelpers sollten die Viewhelper-Schnittstelle implementieren und die Methode render() haben, die den Feldwert zurückgibt zurück

Changelog

Version 0.4.1 => möglich für Mapping-Variablen in beliebigen Ebenen (rekursiv) (COMWRAP-000: erweiterte Mapping-Variable rekursiv)

Version 0.4.0 => Möglichkeit zur Anzeige der Bildbreite (COMWRAP-000: extended width attribute for image)

Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.