Monkey Patch

Ein Monkey Patch erlaubt die Änderung des Verhaltens von Zope oder eines Produkts ohne den Original-Code verändern zu müssen.

Ein Monkey Patch lässt sich einfach mit collective.monkeypatcher erstellen. Hierzu tragen wir in die configure.zcml-Datei folgendes ein:

<configure
    …
    xmlns:monkey="http://namespaces.plone.org/monkey">
    …
    <monkey:patch
        description="TinyMCE JSON Folder listing should ignore INavigationRoot"
        class="Products.TinyMCE.adapters.JSONFolderListing.JSONFolderListing"
        original="getListing"
        replacement=".patches.getListing"
        />

Nun erstellen wir unseren Pach, indem wir aus Products.TinyMCE.adapters.JSONFolderListing.JSONFolderListing die Methode getListing in die Datei patches.py kopieren und entsprechend anpassen.

Anmerkung: Mit collective.monkeypatcherpanel wird ein Zope2-Control-Panel angelegt, das die mit collective.monkeypatcher erstellten Monkey Patches anzeigt.