Gelöst Woocommerce Connector aktivierung erzeugt fataler Fehler - Aktivierungsproblem

pnmffm

Aktives Mitglied
17. Oktober 2018
4
0
Hallo ich habe Probleme bei der Aktivierung des Plugins bei Wordpress.
Kriege die Fehlermeldung: "Das Plugin kann nicht aktiviert werden, da es einen fatalen Fehler erzeugt."

Dachte erst es könnte wie hier beschrieben an der zu neuen WooCommerce Version liegen und habe auf die letzte kompatible Version (von v.3.4.7 auf v.3.4.5.) gedowngraded.
Aber das Problem bleibt bestehen...

Habe dann den integrity check drüber laufen lassen und bekomme relativ viele Warnungen unter "Produkte ohne Preis" angezeigt.
Schaue ich mir diese Beitrag-ID's in der Datenbank an, sind dies aber keine Produkte sondern nur gespeicherte Nachrichten von Contact-Form 7 welche durch Flamingo gespeichert werden. Diese haben den Post-Type "flamingo_inbound"

Kann das auch der Grund für den fatalen Fehler sein?

Connector v1.5.7
Woocommerce v3.4.5
WP v4.9.8

Vielen Dank im Voraus!
LG
 
Zuletzt bearbeitet:

pnmffm

Aktives Mitglied
17. Oktober 2018
4
0
Hey Tobias,

es ist zwar nicht viel zu sehen, aber ja klar...

Hier die Fehlermeldung beim Versuch den Connector zu aktivieren:
fataler-fehler.JPG

Hier der Warnungen vom integrity-check:
produkte-ohne-preis.JPG
 
Zuletzt bearbeitet:

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
272
87
Hannover
Falls du eine sprechende Fehlermeldung suchst:
Fatal error: Uncaught Error: Call to undefined function jtlwcc_deactivate_plugins() in /www/htdocs/w01894ad/eminent. shop/wp-content/plugins/woo- jtl-connector/includes/JtlConnectorAdmin.php:50 Stack trace: #0 /www/htdocs/w01894ad/eminent.shop/wp-includes/class-wp-hook.php(286): JtlConnectorAdmin::plugin_activation('') #1 /www/htdocs/w01894ad/eminent.shop/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array) #2 /www/htdocs/w01894ad/eminent.shop/wp-includes/plugin.php(453): WP_Hook->do_action(Array) #3 /www/htdocs/w01894ad/eminent.shop/wp-admin/plugins.php(180): do_action('activate_woo-jt...') #4 {main} thrown in /www/htdocs/w01894ad/eminent.shop/wp-content/plugins/woo-jtl-connector/includes/JtlConnectorAdmin.php on line 50

Ich habe den gesamten Connector durchsucht und die angegebene Methode jtlwcc_deactivate_plugins() tatsächlich nicht gefunden. Wie heißt die Datei, in die Definition stehen sollte?
 

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
272
87
Hannover
Diese Funktion wird definiert und verwendet. Vielleicht versuchen Sie ein händisches Update des Connectors.

Ich habe den Fehler gefunden und für meinen Kunden behoben:
Eure Version der definierten Funktion:
PHP:
function jtlwcc_deactivate_plugin() {
    deactivate_plugins( __FILE__ );
}

Korrekt müsste es lauten:
PHP:
function jtlwcc_deactivate_plugin(string $plugin) {
    deactivate_plugins( $plugin );
}

Bitte unbedingt an die Entwicklung weiter geben und schnellstmöglich fix rausgeben. Durch den Fehler ändert sich die Signatur der Methode. Das Plugin dürfte in dieser Version niemand aktiviert bekommen.
 

Jan Weskamp

Moderator
Mitarbeiter
19. August 2015
346
35
Ich habe den Fehler gefunden und für meinen Kunden behoben:
Eure Version der definierten Funktion:
PHP:
function jtlwcc_deactivate_plugin() {
    deactivate_plugins( __FILE__ );
}

Korrekt müsste es lauten:
PHP:
function jtlwcc_deactivate_plugin(string $plugin) {
    deactivate_plugins( $plugin );
}

Bitte unbedingt an die Entwicklung weiter geben und schnellstmöglich fix rausgeben. Durch den Fehler ändert sich die Signatur der Methode. Das Plugin dürfte in dieser Version niemand aktiviert bekommen.

Hallo T4DT.GmbH,

Ich bin der besagte Entwickler, der sich das mal anschauen sollte und ich muss dir sagen deine Lösung ist "falsch" bzw. nicht so gedacht ;)

PHP:
function jtlwcc_deactivate_plugin() {
    deactivate_plugins( __FILE__ );
}

Das hier ist korrekt. Es gab einen Bug in der 1.6.2 der durch das Refactoring aufgetreten ist. Wir bemühen uns stets solche Dinge zu vermeiden.

Und nun Explizit hierzu: "Durch den Fehler ändert sich die Signatur der Methode. Das Plugin dürfte in dieser Version niemand aktiviert bekommen. "

Es handelt sich hierbei nicht um eine "Methode", sondern um eine Wrapper-"Funktion". Diese wurde vom vorherigen Entwickler eingebaut um ggf. zusätzliche Logik auszuführen, wenn man das Plugin deaktiviert. Nur zur Ergänzung, eine Signatur kann sich nicht ändern. Vor allem wenn wir eine eigene Funktion schreiben, für die wir keine Parameter angedacht haben.
Das Aktivieren sollte wirklich ein Problem darstellen, allerdings konnte man von der 1.6.1 auf die 1.6.2 updaten, was zu Problemen führen könnte.

Die 1.6.3 funktioniert ohne diesen Fehler, das updaten könnte nur ein Problem werden.
Um das zu lösen einfach diese Zeile:

PHP:
function jtlwcc_deactivate_plugin() {
    jtlwcc_deactivate_plugins( __FILE__ );
}

gegen diese tauschen:

PHP:
function jtlwcc_deactivate_plugin() {
    deactivate_plugins( __FILE__ );
}

mfg

Jan W.
 

T4DT.GmbH

Offizieller Servicepartner
SPBanner
6. November 2018
272
87
Hannover
Ich will jetzt nicht päpstlicher sein als der Papst, daher gehe ich nicht weiter auf die Ausführungen ein, die zu dieser Herangehensweise geführt hat.

Jedoch ist eine Sache einfach und wichtig: Wenn ich eine Methode mit einem Parameter aufrufe und das geschieht im Plugin-Aktivierungsprozess:
PHP:
if ( jtlwcc_woocommerce_deactivated() ) {
            jtlwcc_deactivate_plugins( __FILE__ );
            add_action( 'admin_notices', 'jtlwcc_woocommerce_not_activated' );
            
        }
Unter Signatur einer Methode versteht man den Namen + Überladung. Im Connector in der Klasse JtlConnectorAdmin wird diese genauso verwendet.
In der Definition taucht der Übergabeparameter nicht auf, bzw. es wird schlicht keiner erwartet! Wenn das so gewollt ist, muss du halt die JtlConnectorAdmin korrigieren. An welcher Stelle du das machst ist gehüpft wie gesprungen.
Aber der Funktions-/Methodenaufruf ist syntaktisch schlicht und einfach falsch und muss korrigiert werden!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Invalid request JTL Connector 1.26.0 mit Woocommerce 5.5.1, GermanMarket 3.12.2 WooCommerce-Connector 0
Neu Frage Woocommerce Connector: Nur einzelne Werte in Woocommerce übernehmen möglich? WooCommerce-Connector 0
Neu Suche: Gutschein-Produkt in JTL erzeugen - dann zu WooCommerce übertragen und in WooComemrce nutzbar machen WooCommerce-Connector 0
Neu Anbindung Woocommerce und Amazon - alle Artikel sind doppelt vorhanden Schnittstellen Import / Export 0
Neu Woocommerce-Anbindung funktioniert nicht Onlineshop-Anbindung 1
Neu Keine Lieferzeiten im Shop | JTL kann keine Lieferzeiten an Woocommerce übertragen und überschreibt auch jede Änderung im backend von Woocommerce WooCommerce-Connector 0
Neu WooCommerce Status ändern mit JTL WooCommerce-Connector 0
Neu WooCommerce Produkte mit JTL Verbinden Onlineshop-Anbindung 0
Neu Lieferzeiten "Texte" in Woocommerce aus JTL Onlineshop-Anbindung 1
Neu Downlaoddateien in Woocommerce übernehmen? WooCommerce-Connector 1
Neu JTL bekommt keine Attribute vom Woocommerce WooCommerce-Connector 0
Neu Update zu WooCommerce v5 PRobleme mit Lizenz / Vernbindung / Syncro WooCommerce-Connector 2
Neu Bilder auf Woocommerce werden nicht dargestellt. WooCommerce-Connector 2
Neu Aufträge "Zahlung ausstehend" - Quotes for Woocommerce WooCommerce-Connector 0
Neu Nach Update auf 1.5.46.4 Bilder Sync-Problem mit Woocommerce WooCommerce-Connector 3
Neu Übertragungsfehler zu Woocommerce mit Mix & Match Plug in WooCommerce-Connector 0
Neu Abgleich mit Woocommerce führt zu falschen Übertragungen JTL-Wawi - Fehler und Bugs 0
Neu Crossselling mit Connector 2.12.0 und SW 5.7.3 Shopware-Connector 1
Neu Shop teilweise anbinden? bzw., Bestand und Aufträge ohne Connector synchronisieren Shopify-Connector 1
Neu SW5 auf SW6 Migration & Connector Shopware-Connector 2
Neu Shopware 6 Connector User helfen Usern 0
Neu Shopware 6 Connector - API error .. "Dieser Wert sollte nicht leer sein" Shopware-Connector 3
Neu JTL-Connector - Einstellungen der Übertragungsparameter Allgemeines zu den JTL-Connectoren 0
Neu SW5 - Nach Connector Update - Bilder werden Artikel nicht zugewiesen Shopware-Connector 19
Neu Überverkäufe mit dem Connector managen? Gambio-Connector 3
Neu Shopware 6 Connector schmeißt ständig Fehlermeldung Shopware-Connector 4
Neu Einfacher Connector zum Bestandsabgleich Technische Fragen zu den JTL-Connectoren 2
Neu Woo Connector connector.identify "Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig. WooCommerce-Connector 1
Neu Shopware 5 Connector anmeldung nicht möglich nach Update Shopware-Connector 2
Neu JTL-SW6 Connector Error: The File for media object with id: [...] is not supported for creating thumbnails. Shopware-Connector 11
Neu Prestashop Connector - Zahlungsarten zuordnen PrestaShop-Connector 0
Neu Shopware 6 - Connector Error: Malformed UTF-8 characters Shopware-Connector 3
Neu Connector Einstellungen Synchronisation Shopify-Connector 4
Neu JTL->Prestashop: hat jemand einen Connector selbst (weiter-)entwickelt oder will sich jemand zusammenschließen? PrestaShop-Connector 3
Neu Firewall+Security Plugin für WordPress kompaktibel mit JTL Connector? WooCommerce-Connector 0
In Diskussion Einrichtung Fiskal Cloud Connector Einrichtung / Updates von JTL-POS 9
Neu Connector aktualisiert nicht alle Informationen WooCommerce-Connector 0
Neu Aktivierung der Dropshipping-Möglichkeit bei ALLEN eingepflegten Artikeln per Ameise möglich? JTL-Ameise - Ideen, Lob und Kritik 8

Ähnliche Themen