TYPO3 Extensions umbenennen
Dein Wunschname der Extension existiert bereits im TER? Mit dieser Anleitung kannst du ganz einfach eine TYPO3 Extension umbenennen.
Es ist manchmal notwendig, dass man eine Extension umbenennen muss. Zum Beispiel, wenn man eine Extension in der TYPO3 Extension Repository (TER) veröffentlichen will und man erst beim Hochladen merkt, dass der eigene Name belegt ist. Oder wenn du aus Marketinggründen den Namen wechseln möchtest.
Das Ändern des Namens, sei es vom Vendor oder der Extension, ist ganz einfach in einem guten Editor erledigt. Im Folgenden eine einfache Anleitung um deine Extension in wenigen Minuten einen anderen Namen zu geben.
Es gilt folgende Änderungen vorzunehmen.
- Ordername
- composer.json
- ext_emconf.php
- alle Namespace und Klassen Angaben
Vorbereitung
Beachte, dass du die Änderung lokal auf deinem Rechner erledigst und nicht auf dem Server bzw. in einer aktiven Extension. Du musst den Ordner der Extension irgendwo auf deinen PC ablegen und dort ändern.
Falls du die Extension in einer TYPO3 Installation installieren möchtest, dann musst du davor die Extension im alten Namen deinstallieren und vom Server löschen.
Da sich eventuelle Frontend Plugins ändern. Müssen diese neu platziert werden, Scheduler Tasks neu angelegt und Extension Einstellungen nochmal angepasst werden.
Durch die Änderung des Namens erstellst du für TYPO3 eine komplett neue Extension.
Ordnername ändern
Der erste Schritt ist, den Ordnernamen der Extension zu ändern. Das kannst du ruhig Gewissens tun. Beachte dabei den Namen der Extension aus einem Wort mit validen Zeichen, also nur Buchstaben ohne Sonderzeichen zu vergeben.
Falls du mehr als ein Wort nutzen möchtest, dann trenne es mit einem Unterstrich. Ich empfehle nicht mehr als einen Unterstrich im Namen zu haben.
composer.json anpassen
Der nächste Schritt ist, die composer.json zu ändern. Falls du keine composer.json Datei hast, dann kannst du diesen Schritt überspringen.
Ändere in der composer.json den Namen, PSR-4 Eintrag und Extension Key.
ext_emconf.php ändern
Das Gleiche musst du in der ext_emconf.php Datei tun. Die entsprechenden Stellen habe ich beispielhaft im folgenden Bild hervorgehoben.
Klassenangaben und Namespaces ändern
Zu guter Letzt musst du alle Namespace und Klassenpfad Angaben im Quellcode ändern. Das machst du am besten innerhalb deiner IDE.
Dort kannst du mit Suchen & Ersetzen inklusive Case Sensitive Einstellung den alten Extensionnamen im Namespace durch das neue ersetzen. Beachte, dass du hier die CamelCase Schreibweise anwenden musst.
Das bedeutet, wenn du ein Unterstrich im Ordnername deiner Extension hast. Dann muss du diese beiden Wörter zusammenschreiben und das 2. Wort mit einem Großbuchstaben beginnen.
Beispiel:
Ordername: accordion_container
Namespaceteil: Vendor/AccordionContainer/
In jeder guten IDE kannst du diesen Suchen & Ersetzen Prozess auf alle Dateien innerhalb deiner Extension anwenden. Bei VisualCode klickst du dazu auf deinen Extension Ordner und dann STRG+H. Es erscheint dann folgender Dialog:
Wichtig ist, dass du Match Case aktivierst. Das ist das Aa Icon.
Das wars!
Fazit
Du siehst, es ist gar nicht schwer, den Namen einer Extension zu ändern. Das geht tatsächlich in wenigen Minuten. Ich habe das schon mehrfach gemacht und keinerlei Probleme gehabt.
Es ist wichtig, dass du die Ersetzung via CamelCase vornimmst und es auf alle Dateien in deiner Extension anwendest.
Danach kannst du die Extension als neue Extension ganz einfach installieren.