Wie migriert man von Grid Elements zur TYPO3-Container-Erweiterung?

Möchten Sie die bekannten EXT.gridelements auf die neuen EXT.container TYPO3 Extensions migrieren? In diesem Artikel finden Sie zwei Möglichkeiten (1. Automatische Erweiterung basiert, 2. Manuell migrieren), um erfolgreich von alten EXT.gridelements zu neuen glänzenden EXT.container TYPO3 Erweiterungen zu aktualisieren.

Möchten Sie von Grid Elements zur TYPO3-Container-Erweiterung migrieren? In diesem Artikel erfahren Sie mehr über verschiedene Ansätze – 1. automatische Migration mit einer Erweiterung und 2. manuelle Migration – zur Übertragung bestehender Grid Elements-Konfigurationen auf EXT.

Seit vielen Jahren bietet Grid Elements TYPO3-Projekten flexible Grid-Funktionen. Das Grid Elements-Team hat durch die langjährige Pflege und Weiterentwicklung dieser Lösung einen wichtigen Beitrag zum TYPO3-Ökosystem geleistet. Die Community schätzt dieses Engagement und diese Arbeit.

Viele TYPO3-Projekte benötigen flexible Inhaltsstrukturen, die über die Möglichkeiten der standardmäßigen Backend-Layouts hinausgehen. EXT:container bietet hierfür einen weiteren Ansatz zur Erstellung flexibler Container- und Grid-Strukturen.

Seit letztem Jahr haben wir (T3Planet und NITSAN) unsere TYPO3-Templates von EXT auf EXT migriert. Bei neuen Projekten kann EXT je nach den Anforderungen des jeweiligen Projekts eingesetzt werden.

Warum eigentlich? Lesen Sie den Blog weiter; Sie werden eine Antwort erhalten ;)

Bevor wir mit dem Blogbeitrag beginnen, möchten wir B13 GmbH für die Entwicklung und Pflege der EXT TYPO3-Erweiterung danken, die einen alternativen Ansatz zu Grid Elements bietet. Unser Dank gilt auch dem Grid Elements-Team für seinen langjährigen Beitrag zur TYPO3-Community.

Bevor wir uns mit den verschiedenen Migrationsansätzen befassen, schauen wir uns zunächst an, warum sich TYPO3-Projekte möglicherweise für einen anderen Ansatz zur Erstellung flexibler Grid- und Container-Strukturen entscheiden.

Denn flexible Strukturen innerhalb einer Seite lassen sich mit TYPO3-kompatiblen Container-Ansätzen umsetzen.

Fakten und Zahlen

  • Gebaut und gewartet von der TYPO3 Firma B13 GmbH (von Benni Mack - Mr. TYPO3 core man).
  • Über 136.000 Downloads innerhalb weniger Monate zeigen eine deutliche Akzeptanz innerhalb der TYPO3-Community.
  • Seine Verifizierung TYPO3-Erweiterung; Lesen Sie mehr.
  • Kompatibilität der TYPO3-Version - EXT:container folgt einem eigenen Wartungs- und Release-Prozess für die TYPO3-Kompatibilität.
  • Die Konfiguration wird mit Extbase/PHP-Code anstelle von langem TypoScript erstellt.

EXT:container - Die in TYPO3 eingebauten Konzepte ermöglichen es Integratoren, Setups für alle Arten von Seitentypen, Vorlagentypen und Content-Management-Szenarien zu erstellen, aber viele Projekte benötigen mehr Flexibilität bei der Platzierung von Unterstrukturen mit Elementen oder Modulen innerhalb eines Inhaltsbereichs.

Flexible Container (Grids) als individuelle TYPO3-Inhaltselemente

  • Keine Standardcontainer, alles wird so gebaut, wie es für ein Projekt benötigt wird
  • Unterstützt Mehrsprachigkeit (verbundener oder freier Modus (gemischter Modus nicht unterstützt))
  • Unterstützt Arbeitsbereiche
  • Unterstützt colPos-Beschränkungen, wenn EXT:content_defender
  • Frontend-Rendering über DataProcessor und Fluid-Vorlagen
  • Container bietet die nötige Flexibilität für alle TYPO3-Projekte, indem es einfach die Erweiterungen installiert. Nie war es einfacher, Unterstrukturen, die Elemente oder Module enthalten, innerhalb eines Inhaltsbereichs zu platzieren.

Benni und das bereits erwähnte Team, Warum haben wir eine weitere "Grid"-Erweiterung geschaffen?

Außerdem empfehle ich dringend, den offiziellen Blog von B13 auf EXT:container zu lesen.

  1. Flexible Container und Grids für TYPO3
  2. Flexible Container und Grids für TYPO3 (Teil 2)
  3. Flexible Container und Grids für TYPO3 (Teil 3)
  4. Beispiel Erweiterung

Jetzt wollen wir herausfinden, wie man von EXT.gridelements zu EXT:container mit zwei Optionen migrieren kann.

EXT:ns_gridtocontainer - Wir haben eine One-Click-Auto-Migration TYPO3-Extension entwickelt, die vor allem für unsere TYPO3-Produkte und auf Kundenwunsch eingesetzt wird.

Grid Elements ist für aktuelle TYPO3-Versionen verfügbar. Grid Elements v13 ist für TYPO3 12.4 LTS und 13.4 LTS über das TYPO3 Extension Repository (TER) und Composer öffentlich verfügbar. Grid Elements v14, das TYPO3 13.4 und TYPO3 14 unterstützt, ist derzeit über Priority Access und Composer verfügbar. Grid Elements bleibt unter der GNU GPL lizenziert, und Priority Access ändert nichts an seinem Open-Source-Status. Die Vertriebskanäle können sich entsprechend dem Release-Prozess des Grid Elements-Teams weiterentwickeln.

EXT:container bietet eine alternative Lösung zur Erstellung von Grids und Containern in TYPO3. Für Projekte, die von EXT:gridelements zu EXT:container migrieren möchten, unterstützt EXT dabei, den Migrationsprozess zu vereinfachen.

 


// Step 1. EXT:container installieren
composer req b13/container

// Step 2. Installieren Sie EXT.gridcontainer als dev-Abhängigkeiten
composer req --dev nitsan/ns-gridtocontainer

// Step 3. Starten Sie den Erstellungs- und Migrationsprozess
Go to Backend Module to 1-click Migration

EXT:gridtocontainer - TYPO3-Extension entwickelt von Stefan Bublies. Es ist eine kleine Migrations-Extension mit einem Backend-Modul für diejenigen, die von EXT:gridelements zu EXT:container wechseln wollen.

Für jedes in Ihrer Installation verwendete Gitterelement können Sie manuell auswählen, in welches Containerelement es migriert werden soll. Standardmäßig werden die Spaltennummern beibehalten. Es ist jedoch auch möglich, die Spaltennummer der zugehörigen Inhaltselemente anzupassen.

Diese Erweiterung sollte abhängig von den Projektanforderungen vor dem Einsatz in einer Produktionsumgebung sorgfältig getestet werden. Sie kann nur von Administratoren mit System-Maintainer-Rechten verwendet werden.

 

// Step 1. EXT:container installieren
composer req b13/container

// Step 2. Installieren Sie EXT.gridcontainer als dev-Abhängigkeiten
composer req --dev sbublies/gridtocontainer

// Step 3. Starten Sie den Erstellungs- und Migrationsprozess
Go to Admin tools > Grid migration provided by this extension. Click-n-go to create alternative containers, Migrate all grid elements to containers etc.

EXT:migration - Eine der guten TYPO3-Erweiterungen, die von der TYPO3-Agentur In2code entwickelt und gepflegt wird.

Mit der Version9 von in2code/migration haben Sie nun die Möglichkeit, automatisch von gridelementsteam/gridelements nach b13/container zu migrieren. Und wie immer sollten Sie beim Einsatz von in2code/migration wissen, welche Daten von welchem Tabellenfeld in welches übertragen werden sollen. Wir haben das bereits für Sie getan und auf unserem Whiteboard eingezeichnet. Im Prinzip dreht sich alles um die Tabelle tt_content und den darin enthaltenen Inhalt:

 

// Step 1. EXT:container installieren
composer req b13/container

// Step 2. Installieren Sie EXT.migration als Entwicklungsabhängigkeiten
composer req --dev in2code/migration

// Step 3. Starten Sie den Erstellungs- und Migrationsprozess
Folgen Sie den Schritten zu ihrer offiziellen Dokumentation

Wenn Sie an einer manuellen Migration von Grid Elements zu EXT:container interessiert sind, dann versuchen Sie es mit der folgenden Schritt-für-Schritt-Anleitung.

Hinweis: Die folgenden Beispiele wurden ursprünglich mit den nachstehenden Versionen getestet.

  • TYPO3 10.4.20
  • TYPO3 11.5.4 LTS
  • EXT.gridelements 9.4.0
  • EXT:container 1.4.0

Schritt 1. Beispielkonfiguration von Grid Elements

Zu Testzwecken finden Sie hier die Beispielkonfiguration von Grid Elements für den Datensatz.

 

mod.web_layout.BackendLayouts {
  yourKey {
    title = Your Title
    icon = EXT:yourpackage/Resources/Public/Images/BackendLayouts/yourIcon.gif
    config {
      backend_layout {
        colCount = 2
        rowCount = 1
        rows {
          1 {
            columns {
              1 {
                name = Column1
                colPos = 1
              }
              2 {
                name = Column2
                colPos = 2
              }
            }
          }
        }
      }
    }
  }
}

Schritt 2. EXT:container Konfiguration registrieren

Lassen Sie uns die Konfiguration von EXT:container genauso wie EXT.gridelements mit Simple title und colPos erstellen.

 

$containerRegistry->configureContainer(
    (
    new \B13\Container\Tca\ContainerConfiguration(
        'yourKey',
        'Your Title',
        '',
        [
            [
                [
                    'name' => 'Column1',
                    'colPos' => 1
                ],
                [
                    'name' => 'Column2',
                    'colPos' => 2
                ],
            ]
        ]
    )
    )
);

Schritt 3. CType migrieren (mit Update-SQL)

Nun ist es an der Zeit, alle CType-Datensätze des Grid Element in den Container zu migrieren.

 

UPDATE `tt_content` SET `CType`=CONCAT('yourKey’, `tx_gridelements_backend_layout`) WHERE `CType`='gridelements_pi1';

UPDATE `tt_content` SET `colPos`= `tx_gridelements_columns`,`tx_container_parent`=`tx_gridelements_container` WHERE `colPos`=-1;

Schritt 4. TYPO3 Fluid-Vorlage einrichten

mit `lib.containerElement`, Wir müssen die Standardkonfiguration von TypoScript so einrichten, dass sie Ihr benutzerdefiniertes Layout, Ihre Vorlagen und Teilbereiche außer Kraft setzt.

 

lib.containerElement =< lib.contentElement
lib.containerElement {
    layoutRootPaths {
        100 = EXT:fluid_styled_content/Resources/Private/Layouts
        110 = EXT:yourpackage/Resources/Private/Layouts/Containers
    }

    templateRootPaths {
        100 = EXT:fluid_styled_content/Resources/Private/Templates
        110 = EXT:yourpackage/Resources/Private/Templates/Containers
    }

    partialRootPaths {
        100 = EXT:fluid_styled_content/Resources/Private/Partials
        110 = EXT:yourpackage/Resources/Private/Partials/Containers
    }

    dataProcessing {
        10 = B13\Container\DataProcessing\ContainerProcessor
    }
}

Schritt 5. Dem Container zuweisen

Sie müssen eine Reihe von TypoScript-Objekten Ihres Containers erstellen, um `lib.containerElement` zuzuweisen, indem Sie den Namen der Fluid-Vorlage zuweisen.

 

tt_content.yourKey < lib.containerElement
tt_content.yourKey {
    templateName = yourTemplate
}

Schritt 6. Erledigt!

Jetzt ist Ihre TYPO3 Fluid-Vorlage bereit für den Container.

Grid Elements und EXT bieten unterschiedliche Ansätze zur Konfiguration der erlaubten Inhaltselemente. EXT kann zusammen mit kompatiblen TYPO3-Erweiterungen wie EXT verwendet werden, um erlaubte oder eingeschränkte Inhaltselementtypen zu definieren.

EXT:container ist eine kompatible TYPO3-Erweiterung EXT.content_defender. Es ist sehr nützlich, erlaubte oder verweigerte Inhaltselementtypen zu definieren.

Hier ist die Beispielkonfiguration des Containers mit EXT.content_defender.

 

$containerRegistry->configureContainer(
    (
    new \B13\Container\Tca\ContainerConfiguration(
        'YourName',
        'YourTitle',
        '',
        [
            [
                [
                    'name' => 'Column1',
                    'colPos' => 1,
                    'allowed' => [
                        'CType' => 'header,text,textpic,image,textmedia,bullets,form_formframework'
                    ]
                ],
                [
                    'name' => 'Column2',
                    'colPos' => 2,
                    'allowed' => [
                        'CType' => 'header,text,textpic,image,textmedia,bullets,form_formframework'
                    ]
                ],
            ]
        ]
    )
    )
);

Vielen Dank, dass Sie meinen Blog gelesen haben. Ich hoffe, der Beitrag hat Ihnen gefallen und Sie konnten dabei etwas Neues lernen.

Haben Sie bereits ein TYPO3-Projekt von Grid Elements zu EXT:container migriert? Wir würden gerne von Ihren Erfahrungen und Ihrem gewählten Migrationsansatz hören. Teilen Sie Ihre Gedanken gerne im Kommentarfeld mit.

Viel Erfolg bei der Migration!

Bevorzugen Sie eine fertige TYPO3-Extension oder eine individuelle Lösung?

Entdecken Sie fertige und individuell entwickelte TYPO3-Extensions im T3Planet Shop – entwickelt für Performance, Skalierbarkeit und konkrete Projektanforderungen.

  • 200+ Individuell entwickelte TYPO3-Extensions
  • 90+ Score bei TYPO3 SEO, Geschwindigkeit & Barrierefreiheit
  • 70+ Veröffentlichte kostenlose & Premium-TYPO3-Extensions
  • 15+ Jahre TYPO3-Erfahrung
  • 5+ Bestseller-TYPO3-Extensions (T3AI, Slider Revolution etc.)
TYPO3 Extension Gig
TYPO3 Extension

Post a Comment

×