xtcommunist Posted February 27, 2012 Report Share Posted February 27, 2012 Hallo Community, schlage mich gerade seit einigen Tagen mit einem Problem rum, bei dem ich nicht weiterkomme und auch keinen Ansatz im Forum finden konnte. Für die Anbindung einer XML-Schnittstelle, müsste direkt beim Anlegen eines neuen Produktes die EAN zum Abgleich ausgelesen werden. Meine Vermutung war, dass das in der "class.product.php" möglich wäre ( xtFramework/classes/class.product.php). Dort gibt es zwar eine _set-Funktion, die wohl für das Anlegen der Produkte zuständig ist, aber die EAN finde ich nicht... Bin bislang eigentlich immer gut zurecht gekommen. Aber hier bin ich gerade ratlos. Kann mir jemand weiterhelfen oder ein paar Tipps geben, die in die richtige Richtung führen? Link to comment Share on other sites More sharing options...
oldbear Posted February 27, 2012 Report Share Posted February 27, 2012 die Tabellen werden über den AdoDB-Handler eingelesen ( Stichwort: sql_tablecols ). Und an dem Hook: class.product.php:_set_bottom kannst Deine Abfragen einbauen. Dazu ist allerdings eine gewisse Beschäftigung mit dem Hook-Konzept nötig. Grüsse Link to comment Share on other sites More sharing options...
xtcommunist Posted February 27, 2012 Author Report Share Posted February 27, 2012 Es scheint mir fasst, als hätte ich da doch noch etliche Verständnisschwierigkeiten. Den Code für den Hookpoint finde ich zwar in Zeile 1134 der class.product.php $plugin_code = $xtPlugin->PluginCode('class.product.php:_set_bottom')) ? eval($plugin_code) : false;[/PHP] Vermtlich ist meine Anfangsvermutung, dass die EAN im Array $plugin_code drinsteckt, dann aber doch zu einfach. Wie muss ich denn den Hookpoint aufrufen, um an die EAN zu kommen bzw. vor allem auch wo? Geht das direkt in der class.product.php. Wär für die Schnittstelle eben wichtig, dass ich direkt beim Anlegen des Produkts an die EAN gelange und nicht erst über erneute Abfrage der Datenbank. Über ein paar weitere Denkanstöße würde ich mich freuen. Beweg mich hier gerade Richtung Neuland... Link to comment Share on other sites More sharing options...
Matthias Posted February 27, 2012 Report Share Posted February 27, 2012 mach mal oberhalb des hooks nen __debug($data); rein und schau mal was beim speichern dann ausgegeben wird Link to comment Share on other sites More sharing options...
xtcommunist Posted February 27, 2012 Author Report Share Posted February 27, 2012 ...das hat sich jetzt eigentlich plausibel angehört. Nur leider kommt nicht die erwartete Ausgabe, sondern der Speicherprozess bleibt hängen, also es läuft immer wieder der Speicherfortschrittsbalken durch. Das selbe passiert auch bei var_dump($data); Hab das direkt eine Zeile vor dem Hook platziert. Das sollte doch eigentlich so passen, oder? Geht übrigens auch nicht, an allen anderen Positionen innerhalb der _set-Function. Egal ob var_dump, _debug oder print_r, der Prozess bleibt jeweils beim Speicherfortschrittsbalken hängen. Hat noch jemand eine Idee, wie man das sonst angehen könnte, bzw. was hier schief läuft? Link to comment Share on other sites More sharing options...
Matthias Posted February 28, 2012 Report Share Posted February 28, 2012 Ja musst du mit Firebug schaun. Link to comment Share on other sites More sharing options...
xtcommunist Posted March 4, 2012 Author Report Share Posted March 4, 2012 Das mit Firebug, war ein prima Tipp. Danke! Ich verstehe jetzt nur nicht, wieso sich der Speicherprozess beim Neuanlegen eines Produkts aufhängt, sobald ich bei der _set-Methode eine Änderung vornehme. Mein Versuch in die _set-Methode eine andere Klasse zu inkludieren mit require_once('class.andereklasse.php'); [/PHP] klappt so dann auch nicht. Wie kann ich denn aber dann Daten, eines neu angelegten Produkts an eine andere Klasse übergeben? Weiß da noch jemand Rat? Nochmal als Ergänzung: Es geht also darum, in der _set-Methode Methoden einer anderen Klasse aufzurufen. Da sich die Klasse in einer anderen Datei "class.andereKlasse.php" befindet, war die Überlegung, diese andere Klasse mit require_once in die "class.product.php" zu inkludieren. Dies resultiert aber dann beim Anlegen eines neuen Produkts in Veyton in zahlreichen Fehlermeldungen. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.