Gelöst Hook für Plugindeinstallation

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo allerseits,

ich konnte in der Liste der Hooks keinen finden (und auch nicht via Forumssuche), der feuert, wenn man ein Plugin deinstallieren möchte. Gibt's da etwas, was ich übersehen habe oder irgendeine Art Work-Around?


Gruß,
Johnny
 

NETZdinge.de

Sehr aktives Mitglied
7. April 2010
2.626
405
Da gibt es einen Eintrag in der Info.xml...

<uninstall>datei.php</uninstall> Auf gleicher Ebene wie <install>

datei.php muss im Verzeichnis „uninstall“ in /Version/xxx/ liegen...
 
  • Gefällt mir
Reaktionen: JohnnyMcDoogle

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo René,

ich wusste, ich hab's schon mal irgendwo gesehen, wahrscheinlich in irgendeiner info.xml eines Plugins. Schade, dass es nur auf der Fehler-Codes Seite in den Docs dokumentiert ist, sonst nicht. Ich hätte es beim Plugin-Aufbau erwartet. Vielen Dank, René (+1)! :)


Gruß,
Johnny
 
Zuletzt bearbeitet:

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo noch mal,

eine kleine Frage noch. Du meintest, im Falle der Deinstallierung wird eine PHP-Datei angestoßen:

HTML:
<jtlshop3plugin>
    <Install>
        <Version nr="100">
            <CreateDate>2019-03-25</CreateDate>
            <SQL>100.sql</SQL>
        </Version>
    </Install>
    <Uninstall>uninstall.php</Uninstall>
</jtlshop3plugin>

Du weißt nicht zufällig, ob bei einer Installation nicht auch eine PHP-Datei getriggert werden kann, oder nur die 100.sql (um im Beispiel zu bleiben).


Gruß,
Johnny
 

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo,

vielen Dank für Deine Antwort. Ist das denn derzeit (v4.06.20) schon im Einsatz? Ich hätte angenommen, das kommt erst mit v5...



Gruß,
Johnny
 

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo,

leider habe ich keinen Output in den Logs... Any ideas?


PHP:
<?php

declare(strict_types=1);

namespace Plugin\foo;

use JTL\Events\Dispatcher;
use JTL\Plugin\Bootstrapper;
use Jtllog;

/**
 * Class Bootstrap
 * @package Plugin\jtl_google_shopping2
 */
class Bootstrap extends Bootstrapper
{
    /**
     * @inheritDoc
     */
    public function installed()
    {
        parent::installed();
        Jtllog::writeLog('installed');
    }

    /**
     * @inheritDoc
     */
    public function uninstalled(bool $deleteData = true)
    {
        parent::uninstalled();
        Jtllog::writeLog('uninstalled');
    }

    /**
     * @inheritDoc
     */
    public function boot(Dispatcher $dispatcher)
    {
        parent::boot($dispatcher);
        Jtllog::writeLog('boot');
    }
}

Vielen Dank bis jetzt.


Gruß,
Johnny
 

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Hallo,

der Namespace war natürlich nur ein Beispiel. Ich stelle im Laufe des Tages ein kleines "Basis-Repo" zur Verfügung (JTL- Shop v4.06.20 & Minimal-Plugin). Ich würde mich sehr freuen, wenn eine(r) drüber schauen könnte.


Gruß,
Johnny
 

JohnnyMcDoogle

Aktives Mitglied
14. Mai 2019
27
2
Gestern war's zu spät und heute hatte ich noch kein Kaffee... Keine Ahnung, Du hast völlig Recht! Ich meinte natürlich die ganze Zeit v4.06.14. Man, man, man. o_O
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.369
347
Halle (Saale)
Achtung: du hast offensichtlich das für den kommenden Shop5 geschrieben jtl_google_shopping2 als Vorlage für dein Plugin genommen.
Das wird im Shop4 so nicht funktionieren, da die Schnittstelle dort abweicht. Im Shop4 müsste das eher so aussehen (Achtung: die Datei muss bootstrap.php (klein geschrieben) heißen und im versionierten Plugin-Verzeichnis liegen):

Code:
<?php

namespace kannst_du_dir_aussuchen;

use EventDispatcher;

/**
 * Class Bootstrap
 */
class Bootstrap extends \AbstractPlugin
{

    /**
     * @param EventDispatcher $dispatcher
     */
    public function boot(EventDispatcher $dispatcher)
    {
        parent::boot($dispatcher);
        $dispatcher->listen('shop.hook.' . HOOK_ARTIKEL_CLASS_FUELLEARTIKEL, function($a) {
            // do something
        });
    }

    /**
     *
     */
    public function installed()
    {
        parent::installed();
    }

    /**
     *
     */
    public function uninstalled()
    {
        parent::uninstalled();
    }

    /**
     *
     */
    public function enabled()
    {
        parent::enabled();
    }

    /**
     *
     */
    public function disabled()
    {
        parent::disabled();
    }
}
 
  • Gefällt mir
Reaktionen: JohnnyMcDoogle

Conny

Sehr aktives Mitglied
7. September 2009
571
61
Ich habe das Problem, dass die Function uninstalled nicht funktioniert
Code:
 public function uninstalled()
    {
        parent::uninstalled();
    }
 

Conny

Sehr aktives Mitglied
7. September 2009
571
61
Habe mein Problem gefunden. Hatte die XML Version höher als 100 in der info.xml und deswegen wurde die Funktion in der pluginverwaltung_inc.php nicht mehr ausgeführt.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Suche 10–15 JTL-Shops für kostenlose JTL-Shop-Analyse (verschiedene Branchen) Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt Dienstleistung, Jobs und Ähnliches 0
Neu Wir suchen Mitstreiter für ein gemeinsames Konfigurator-Projekt User helfen Usern - Fragen zu JTL-Wawi 7
In Diskussion Workflow für Erinnerungen an bevorstehende Lieferungen JTL-Workflows - Ideen, Lob und Kritik 0
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Wroker macht keinen abgleich für Kaufland JTL-Wawi 2.0 8
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu Kundengruppeneinstellungen für Mindestabnahme und Abnahmeintervall löschen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Wie lange braucht ihr aktuell für die Anlage eines neuen Artikels? JTL-Wawi App 3
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Keine Labels für Warenpost international über Packtisch JTL-ShippingLabels - Fehler und Bugs 8
Neu Laut Backend Shop Update für Shop 5.71 - Download nicht zu finden? Betrieb / Pflege von JTL-Shop 3
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Neu Artikelname & Beschreibung angepasst für jeweiligen Marktplatz Arbeitsabläufe in JTL-Wawi 1
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
API 2.1 für OnPrem? JTL-Wawi 2.0 6
Neu Dummy-ID oder Freiposition für Angebot mit mehrzeiliger Beschreibung JTL-Wawi - Ideen, Lob und Kritik 7
Neu Neue Kennzeichnungspflicht für Elektrogeräte (Altgeräterücknahme) Betrieb / Pflege von JTL-Shop 4
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 2
Neu Exportgenehmigung / Ausfuhrgenehmigung automatisch für Auslandskunden als Aufpreis Allgemeine Fragen zu JTL-Shop 2
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
JTL-Worker 2.0 - Einrichtung als Dienst - Auffälligkeiten und Problemlösungen für manche JTL-Wawi 2.0 3
Neu Muss man für DHL Versenden 4.0 einen neuen Benutzer bei DHL anlegen? JTL-ShippingLabels - Ideen, Lob und Kritik 2
Neu Retourenetikett für Briefe kann unter Internetmarke 2.0 nicht erstellt werden JTL-ShippingLabels - Fehler und Bugs 5
Neu Neue Tracking-URL für DPD JTL-ShippingLabels - Fehler und Bugs 4
AboutYou keine Felder für GPSR Daten SCX-(Ninepoint)-Anbindungen 0
globale Angebotsvorlage anpassen für eBay Angebote "Artikelspezifisch" JTL-Wawi 1.11 0
Neu Connectorupdates für Shopware 6.7.7 bzw 6.7.8? Shopware-Connector 39
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu DRIGEND HILFE!!! Ebay Abgleich endet mit Arithmetischer Überlauffehler für tinyint-Datentyp, Wert = -1. Die Anweisung wurde beendet. eBay-Anbindung - Fehler und Bugs 4
Neu Stornobeleg für Verkauf ohne Rechnung User helfen Usern - Fragen zu JTL-Wawi 9
Neu Neuentwicklung - Helpdesk für JTL Wawi - Eure Ideen und Wünsche? User helfen Usern - Fragen zu JTL-Wawi 4
Kein changelog für 1.11.8 JTL-Wawi 1.11 29

Ähnliche Themen