Mit Composer einen Patch für ein Contao-Modul einspielen

von Marco Simbürger

Wenn man ein Contao-Modul, das man via Composer installiert hat, abändern möchte, um zum Beispiel einen Bug zu fixen oder eigene Logik reinzubringen, kann man diese Änderungen ganz einfach mit einem Patch hinzufügen.

Dazu zuerst den Patch erstellen. Hierfür am einfachsten das git-Repo des Moduls lokal auschecken und die gewünschten Änderungen vornehmen. Mit git diff können die Änderungen überprüft werden. Dieser Diff kann nun als Patch verwendet werden. Also die Ausgabe einfach in eine Datei speichern.

git diff > my_example.patch

Diese patch-Datei nun in die Contao-Installation kopieren. Ich erstelle hierfür jeweils einen neuen Ordner /pachtes im Root-Verzeichnis (gleiche Ebene wie system, templates usw.)

Damit Patches via Composer hinzugefügt werden können, braucht es ein zusätzliches Modul. Dieses Modul ganz einfach rasch per Composer installieren.

composer require cweagans/composer-patches

Anschliessend die composer.json bearbeiten und im Abschnitt "extras" den Patch für das entsprechende Modul angeben. In meinem Fall ist der Patch für das Notification-Center-Modul.

"extra": {
    "branch-alias": {
        "dev-4.5": "4.5.x-dev"
    },
    "patches": {
        "terminal42/notification_center": {
            "An example patch": "patches/my_example.patch"
        }
    }
},

Anschliessend composer install ausführen und der Patch und somit meine Änderungen, werden dem Modul hinzugefügt.

composer install
- Installing terminal42/contao-notification_center (1.4.4): Loading from cache
- Applying patches for terminal42/contao-notification_center
   patches/my_example.patch (An example patch)

Zurück

Kommentare

Kommentar von L. A. |

ha, genial!! danke!!

Kommentar von Michi |

Merci!

Einen Kommentar schreiben

Bitte rechnen Sie 5 plus 8.