Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare ...

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
Ich habe heute angefangen ein Plugin zu schreiben um die ganze Sache zu verstehen. Das Plugin sucht anhand der Artikel EAN bei Amazon den Preis und gibt diesen im Template aus.
Soweit so gut. Wenn ich nun allerdings einen Artikel mit Variationen habe und diese wechseln möchte bekomme ich einen 500 Error.
Im Log wird folgendes geschrieben "Cannot redeclare getAmazonPrice() ..."

Die Funktion wird beim Seitenaufbau aufgerufen, bei Variationswechsel wird die (so glaube ich?) nicht nochmals aufgerufen und es kommt zum Fehler.

Ich habe jetzt mehrere Stunden hin und her probiert bevor ich hier um Hilfe frage.
Hat jemand eine Idee?

XML:
<Hook id="140">amazon.php</Hook>

PHP:
PHP:
$oArtikel = $smarty->get_template_vars('Artikel');

// hier rufe ich die Funktion auf .. ich denke hier liegt der Hund begraben ?
if (isset($oArtikel->cBarcode)){$response = getAmazonPrice("de", $oArtikel->cBarcode);}

// hier kommt die Funktion .. also nix besonderes
function getAmazonPrice($region, $asin) {

*
*
*

pq('#mytabset')->append($cPin_It_Button);

TPL Datei:
{$pinterest_preis}
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Hallo,

der hook140 wird normalerweise nicht beim reload von Varkombi-Kindartikel via ajax noch mal aufgerufen.

Was ist wenn du die function in ein

Code:
[COLOR=#000000][COLOR=#007700]if (![/COLOR][COLOR=#0000BB]function_exists[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'[COLOR=#000000][COLOR=#007700][/COLOR][COLOR=#0000BB]getAmazonPrice[/COLOR][COLOR=#007700][/COLOR][/COLOR]'[/COLOR][COLOR=#007700])) {[/COLOR][/COLOR]
[COLOR=#000000][COLOR=#007700]    function [/COLOR][COLOR=#0000BB]getAmazonPrice[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$region[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$asin[/COLOR][COLOR=#007700]) {[/COLOR][/COLOR]
            ...
      }
}

einpackst?
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Vielen Danke für deine Antwort :)

Dann kommt nur das hier: Fatal error: Call to undefined function getAmazonPrice() .. line 32
Line 32:
$response = getAmazonPrice("de", $oArtikel->cBarcode);

Ich verstehe diese Ajax Geschichte irgendwie nicht.
Habe auch schon mit Hook 45 gespielt. Negativ
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Kann auch kein Plugin finden was nach Variantenwechsel eine Funktion aufruft oder sonst was macht um was abzuschauen .. Ratlos
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

ok anderer ansatz was ist wenn du die function in eine externe datei auslagerst und dann mit require_once einbindest?
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Das habe ich auch schon probiert. Negativ
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Gleiches Verhalten .. "Cannot redeclare getAmazonPrice() ..."
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Anderer Versuch:

<Hook id="45">2.php</Hook>
<Hook id="140">1.php</Hook>


In 1.php:
require_once("2.php");
$response = getAmazonPrice("de", $oArtikel->cBarcode);



Mir gehen die Ideen aus .. im Forum konnte ich nichts finden. :(
 

x86

Gut bekanntes Mitglied
20. Januar 2014
179
5
localhost
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Hallo webgreat,

es ist doch ganz einfach:
der Hook 140 wird bei jedem Seitenaufruf im Frontend aufgerufen, ebenfalls beim Austausch eines Artikels
dessen Variation als Variationskombination in der WAWI angelegt ist (zwei Hooks werden an dieser Stelle ausgeführt, der AJAX_TAUSCHE_VARIATIONSKOMBI
und der 140er. Naja und evtl. noch einige mehr wie der FUELLE_ARTIKEL Hook).

Wenn du auf deine Funktion "getAmazonPrice" zurückgreifen möchtest, bindest du diese idealerweise über ein require_once ein oder
wie Gerd völlig korrekt erklärt hat frägst du mithilfe von function_exists ab ob die Funktions bereits deklariert ist.
Wenn du die Fehlermeldung Cannot redeclare oder Function does not exists erhälst dann wird eines von beiden falsch gemacht.

Grüße Stephan
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Ihr seit meine Tageshelden :)
Manchmal steht man dermaßen auf dem Schlauch das es anfängt zu nerven.

Also Funktion auslagern und per require_once("function.php"); einbinden.
JEDE Funktion in:
PHP:
if (!function_exists('funktionsname')) {    function funktionsname() {
            ...      }}

Dann klappts auch!

Andere Frage, auch wenn diese jetzt hier nicht ganz rein passt:

Ich habe in dem Wiki nicht wirklich etwas finden können. Wenn man in einem Plugin per Curl was von irgendwo abholt. Wie kann man das gescheit Cachen? Außerhalb von JTL würde ich die Daten in die DB schreiben und mit einem Verfallsdatum versehen. Gibts bei JTL Plugins eine elegantere Lösung?

Schönen Sonntag!
 

ag-websolutions.de

Sehr aktives Mitglied
29. Dezember 2009
14.548
232
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Hallo


es kommt darauf an, wie lange du es cachen willst.
Wenn es nur 1 x je Browser-Session abf´gefragt und nach der initialen Abfrage aus dem cahce glesen werden soll, würde ich es entweder in die SESSION schreiben oder in ein cookie.
Wenn es länger vorgehalten werden soll, in die DB
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Session oder Cookie, da würde ja bei jedem User die Funktion ausgeführt.
Ich möchte es einmal pro Tag oder Stunde holen und dann ausgeben. Also Datenbank. Kennst du ein Quelloffenes Plugin wo ich mir die Sache abschauen kann?

Schönen Sonntag!
 

x86

Gut bekanntes Mitglied
20. Januar 2014
179
5
localhost
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Hallo webgreat,

du könntest mithilfe einer Plugintabelle prüfen ob die Funktion bereits ausgeführt
worden ist, indem du den Timestamp beim Ausführen der Funktion dort ablegst, bei
erneuten Aufruf dieser Funktion einfach überprüfen ob der abgelegte Timestamp und die Differenz
aus dem momentanen Zeitpunkt > 24 Stunden beträgt.

Grüße,
Stephan
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Das klingt schon mal bombe! Danke.


Hallo webgreat,

du könntest mithilfe einer Plugintabelle prüfen ob die Funktion bereits ausgeführt
worden ist, indem du den Timestamp beim Ausführen der Funktion dort ablegst, bei
erneuten Aufruf dieser Funktion einfach überprüfen ob der abgelegte Timestamp und die Differenz
aus dem momentanen Zeitpunkt > 24 Stunden beträgt.

Grüße,
Stephan
 

webgreat

Gut bekanntes Mitglied
17. April 2013
281
9
Verl
AW: Bei Variantenwechsel PHP Funktion aufrufen/aktualisieren Fehler: Cannot redeclare

Falls die Funktion mal jemand benötigt, ich hab ein Plugin geschrieben. Quasi als Lernmaterial ;)
Kann ich gern per Mail senden.

Hallo webgreat,

du könntest mithilfe einer Plugintabelle prüfen ob die Funktion bereits ausgeführt
worden ist, indem du den Timestamp beim Ausführen der Funktion dort ablegst, bei
erneuten Aufruf dieser Funktion einfach überprüfen ob der abgelegte Timestamp und die Differenz
aus dem momentanen Zeitpunkt > 24 Stunden beträgt.

Grüße,
Stephan
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Bildgröße schrumpft bei Variantenwechsel (Dropper/NOVA) JTL-Shop - Fehler und Bugs 5
Neu "Eigene Felder" bei Lieferadresse anlegbar JTL-Wawi - Ideen, Lob und Kritik 3
Neu Fehler bei Abgleich mit Shopify Shopify-Connector 3
Neu Produktseiten bei Amazon aufschalten User helfen Usern - Fragen zu JTL-Wawi 3
Neu OPI Anbindung bei Wireguardtunnel Allgemeine Fragen zu JTL-POS 0
Neu Hilfe bei Anpassung der JTL-Rechnung (v1.9.4.6) – EK pro Stück × Menge als Summe je Position + Privateinlage-Hinweis Dienstleistung, Jobs und Ähnliches 1
Neu Ich habe eben einen neuen Shop erstellt und alle Artikel übertragen, aber leider werden mir bei den Versandarten die Versandklassen nicht angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
Neu Unbedingt benötigte Felder bei Artikelerstellung Arbeitsabläufe in JTL-Wawi 4
Neu Versandetikett bei Dropshipping per E-Mail mitsenden Arbeitsabläufe in JTL-Wawi 10
Absenderadresse bei Amazon-Versandbestätigungen - wie anpassen? JTL-Wawi 1.10 0
Neu Frage zur eBay-Artikelbeschreibung bei Variationskombinationen (Kindartikel mit eigenem Text und Bildern) eBay-Anbindung - Fehler und Bugs 5
Neu Fehler bei Versandbestätigung seit 28.07.2025 Amazon-Anbindung - Fehler und Bugs 2
Neu Frage zur Handhabung bei Import Vorlage JTL-Ameise - Fehler und Bugs 5
Neu Einkaufspreis bei Ameise-Import über "Lagerbestände" ergänzen JTL-Ameise - Ideen, Lob und Kritik 9
Neu IDeal macht irgendwie Probleme, bei euch auch ? Allgemeine Fragen zu JTL-Shop 0
Neu Hinzufügen eines Textes bei Lieferantenbestellung bei einem Hersteller User helfen Usern - Fragen zu JTL-Wawi 4
Neu Kommentar / Notiz einblenden lassen bei Retoure am WMS? Oder Workflow bei Retoure mit kommentiertem Auftrag? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Betreff: CMD-Import überspringt Artikel bei Bestandsüberschreibung - Über den GUI-Import keine Probleme JTL-Ameise - Fehler und Bugs 2
Neu Exception bei core.connector.auth: Invalid shop url. https://XYZ.de does not point to a shopware 6 instance. Please check the Shop URL. Shopware-Connector 1
Neu Umsatzsteuer Versandkosten bei Mischwarenkorb (7% und 19% Artikel) JTL-Wawi - Fehler und Bugs 5
Probleme mit Lagerbestandsübertragung bei Otto nach Artikelnummernänderung Otto.de - Anbindung (SCX) 0
Neu Amazon Rechnung ändern bei VCS-Lite - Fehlermeldung beim Stornieren (Auftrag fehlt) Arbeitsabläufe in JTL-Wawi 5
Neu Fehler bei Abgleich WooCommerce-Connector 1
500 Internal Server Error bei Statistiken/Einstiegsseiten Einrichtung JTL-Shop5 1
Neu Nach Auftragsimport falsche Versandoption bei "Ausländern" JTL-Wawi - Fehler und Bugs 1
Keine Anmeldung möglich bei JTL WAWI JTL-Wawi 1.9 0
GLS-Retourenlabel – Fehler bei Feld 'Name1', obwohl DPD funktioniert JTL-Wawi 1.9 0
Neu Shopify Lagerbestandsabgleich einrichten (bei neuem Shop) Shopify-Connector 4
Neu Wie kann man einen Artikel auf einen bestehenden Artikel bei Amazon aufschalten? Amazon-Lister - Ideen, Lob und Kritik 4
Neu SW6: Timeout bei Artikelabfruf Einrichtung und Installation von JTL-eazyAuction 0
Neu Gutscheinzahlungen bei Retouren immer auf Gutschein zurückbuchen JTL-POS - Ideen, Lob und Kritik 0
Neu Bug - Grundpreis bei Preis mit Rabatt ist falsch JTL-Shop - Fehler und Bugs 0
Seit Update 1.10.12.0 – Keine Rechnungserstellung per Workflow bei FBA-Aufträgen JTL-Wawi 1.10 3
Neu Fehlermeldung bei Rechnungserstellung "Sie haben keinen Kunden ausgewählt" JTL-POS - Fehler und Bugs 0
Frage zu Variationsartikeln im Onlineshop ( Bei einem Kauf ) JTL-Wawi 1.9 7
Neu Auftrag: Keine E-Mail-Adresse bei Lieferadresse JTL-Wawi - Fehler und Bugs 0
Auftrag: Keine E-Mail-Adresse bei Lieferadresse JTL-Wawi 1.10 0
Neu Mehrere Bankverbindungen bei Nachnahme über DHL Versenden 3.0 User helfen Usern - Fragen zu JTL-Wawi 2
Neu Zahlungsart bei Auftragsbestätigung ausgeben User helfen Usern - Fragen zu JTL-Wawi 3
Neu Falsche Benutzerzuordnung am WMS-Packplatz bei Mitarbeiterwechsel (Remote Server) JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Bei Bestellungen Lieferung an Lager ändern JTL-Wawi 1.10 2
Neu JTL Shop 5.5.1 Lieferland kann bei abweichender Lieferadresse nicht ausgewählt werden JTL-Shop - Fehler und Bugs 9
Bei Installation Exitcode 1638 - abbruch JTL-Wawi 1.10 1
Neu Falscher Lagerbestand bei Amazon Amazon-Anbindung - Fehler und Bugs 4
Neu JTL Shopify Anbindung - Falscher Bruttopreis bei 7% Artikel, Grundpreise werden nicht übermittelt Shopify-Connector 3
Neu Kundenkonto bei 2-FA Auth wiederherstellen Betrieb / Pflege von JTL-Shop 0
Neu 5.5.2: OPC Akkordeon scrollt bei Wechsel der Gruppe ganz nach oben JTL-Shop - Fehler und Bugs 0
Neu Frage zu BLINDKOPIE bei Versand User helfen Usern - Fragen zu JTL-Wawi 2
Neu unterschiedliche Versandkosten bei unterschiedlichen Umsätzen Arbeitsabläufe in JTL-Wawi 0
Neu HILFÄÄÄÄ - Gibt es hier jemand der uns helfen kann Schlussrechnungen mit ausgewiesener MwSt bei den Anzahlungen User helfen Usern - Fragen zu JTL-Wawi 32

Ähnliche Themen