Kurzum schnell installiert. Leider funktioniert es wohl nicht.
Es hängt im letzten Schritt nach „Bestellung absenden“.
Einmal zurück und wieder absenden oder aktualisieren, dann ist die Bestellung ausgeführt.
In AB kommt aber nichts an…. ( emails werden von Oxid und Afterbuy nicht versendet )
Nach Deaktivierung des Modules wird die Bestellemail wieder versendet. (Logischerweise geht dann erst recht nichts nach Afterbuy)
Hat hier zufällig jemand eine Ahnung?
CE 4.5.1 / AB mit XML-Schnittstelle
( funktioniert übrigens auch mit Gambio oder Magento)
Da Afterbuy im Prinzip lt. Autor auf den Mailversand wartet, ist hier vermutlich irgendwo der Haken.
Die Normalen eMails ohne Modul werden einwandfrei versendet.
So um mal ein paar Debug Infos zu bekommen :
orderinfo.php in Ordner afterbuy :
dann kann man hiermit die Bestellung nochmal versuchen an afterbuy zu senden, und bekommt DEBUG Infos dazu.
an die aufzurufende URL als parameter ordernr, die ID der Bestellung:
?ordernr=ORDER_ID (also die ID halt)
<?php
//the path of fully installed OXID eShop
$sOxidConfigDir = dirname(__FILE__).'/../../../';;
function getShopBasePath()
{
global $sOxidConfigDir;
return $sOxidConfigDir . "/";
}
//init OXID framework
require_once(getShopBasePath(). "/core/oxfunctions.php");
require_once(getShopBasePath(). "/core/adodblite/adodb.inc.php");
require_once(dirname(__FILE__).'/../classes/htr_afterbuy_update.php');
require_once(getShopBasePath(). "/modules/htr/htr_oxid.php");
$ordernr=$_REQUEST['ordernr'];
#$afterbuy=oxnew('htr_afterbuy');
#if(is_null($ordernr)){
# die "orndernr angben!";
#}
$afterbuy= new htr_afterbuy_update(array('useOxDb'=>true,'utf8mode'=>false,'autosubmit'=>0));
$test=array_shift($afterbuy->select2hash('SELECT OXID FROM oxorder WHERE OXORDERNR='.$ordernr));
print_r($test);
$oxid=$test['OXID'];
$order= new afterbuyorder();
$order->load($oxid);
$urlen=$afterbuy->order2url($oxid);
$ABparams=explode('&',$afterbuy->xml);
echo "<h1>1;".$oxid."</h1>";
echo "<pre>2";
print_r($ABparams);
print_r($order);
$xmlr=$afterbuy->submit_xml($afterbuy->ourl);
$xml = simplexml_load_string($afterbuy->xmlResponse,'SimpleXMLElement', LIBXML_NOCDATA);
print_r($xml);
echo "</pre>";
?>
kommt folgendes raus wenn ich:
die Seite .meinshop.de/modules/htr_afterbuy/afterbuy/orderinfo.php?ordernr=18
(so ist es doch gemeint?)
aufrufe:
Warning: require_once(/xxxxxgelöschtxxxxxxxxoxid/modules/htr_afterbuy/afterbuy/../classes/htr_afterbuy_update.php) [function.require-once]: failed to open stream: No such file or directory in /xxxxxxgelöschtxxxxxxxxx/oxid/modules/htr_afterbuy/afterbuy/orderinfo.php on line 14
Fatal error: require_once() [function.require]: Failed opening required '/kunden/xxxxgelöschtxxxxxxxx/modules/htr_afterbuy/afterbuy/../classes/htr_afterbuy_update.php' (include_path='.:/usr/local/lib/php') in /kunden/109406_33415/xxxxxxxgelöschtxxxxxxx/oxid/modules/htr_afterbuy/afterbuy/orderinfo.php on line 14
Evtl nochmal zur Sicherheit:
habe das Modul heruntergeladen und in modules hochgeladen.
Die afterbuy_global.ini angepasst.
[afterbuy_global]
UserId=name;
UserPasswort=passwd;
PartnerId=dieID;#Nur für XML Schnitstelle nötig
PartnerPasswort=dasPW;#Nur für XML Schnittstelle nötig
kident=STY_; prefix, später mehr genutzt, um mit einem AFTETBUY mehrer Shops machen zu können
xurl=https://www.afterbuy.de/afterbuy/ABInterface.aspx;
ourl=https://www.afterbuy.de/afterbuy/ShopInterface.aspx;
shopurl=http://www.stylotex.de/;für Links innerhalb der Order
oxidsendmail=0; 1 EMail auch von OXID senden, amcht normal keinen Sinn, weil das ist ja AFTERBUY AUfgabe
nein sorry, das war dann doch leider etwas aus dem Kontext heraus gepostet, es fehlen Abhängigkeiten,
die werde ich morgen, äh später, nachreichen …
Bin ja jetzt selbst gespannt …
Wenn du es nicht hinbekommen solltest und dir die Fehlersuche zu mühsam werden sollte, kannst du dir vielleicht mal das Modul von Volker Dörk (draufgeschaut.de) ansehen, er bietet ebenfalls einen Connector zwischen Oxid und A’buy an, vielleicht klappt das ja besser ?
OXID Shop Modul OXID to Afterbuy
ArtNr.: 00005
Import der Bestellungen von OXID eShop nach Afterbuy
Hersteller: draufgeschaut
Kategorie: System Anbindungen
So habe es noch was überarbeitet,
Änderungen siehe Anhang.
Grundsätzlich ist es so, daß die Lösung einiges mehr KÖNNTE/KANN,
dies ist jedoch alles auf einen speziellen Kunden und einem spezifischen Benamungs/ArtikelNr. Kreis zurechtgeschnitten, was die Entwicklung einfacher machte.
Wenn da jmd mit Erfahrung Lust ha sich das anzuschauen, kann ich das auch gerne offen legen (sync AB mit OXID, Erstellung von OXID Artikeln aus AB, und umgekehrt) …
Also das sollte jetzt so gehen, den Ehrgeiz kann ich gut verstehen, aber auch dass man damit Geld verdienen möchte, allerdings würde ich mir nicht deswegen meinene ganzen Open Source Shop, den ich wunderbar debuggen und dadurch auch pflegen kann, mit einem Modul Zend Encoden lassen, das wäre da mein Ehrgeiz, weit mehr als 50,- € zu sparen.
Es ist auch schon lange her, daher meine Entschuldigung, das es nicht auf Anhieb funktioniert hat.
[QUOTE=metradirek;69983]bestimmt… aber hier habe ich doch Ehrgeiz das selber oder unter 50 Euro zu lösen.
Simon[/QUOTE]
[QUOTE=holgt;69987]So habe es noch was überarbeitet,
Änderungen siehe Anhang.
Grundsätzlich ist es so, daß die Lösung einiges mehr KÖNNTE/KANN,
dies ist jedoch alles auf einen speziellen Kunden und einem spezifischen Benamungs/ArtikelNr. Kreis zurechtgeschnitten, was die Entwicklung einfacher machte.
Wenn da jmd mit Erfahrung Lust ha sich das anzuschauen, kann ich das auch gerne offen legen (sync AB mit OXID, Erstellung von OXID Artikeln aus AB, und umgekehrt) …[/QUOTE]
Hallo,
vielen Dank, sehr gelungenes Modul. Funktioniert auch alles (zumindest im oxid), Bestellung wird auch pos. abgeschlossen, nur im afterbuy sehe ich nichts
Habe nur die afterbuy_global.ini (username, passwort, shopname) geändert, sonst alles so belassen.
Es kommt aber in afterbuy nichts an, kannst Du mir n Tip geben, wo ich noch was suchen/einstellen/ ändern kann.
wäre der Aufruf und gibt dann die Antwort vom afterbuy Servers sowie DEBUG Info …[/QUOTE]
nein, nichts. Das heisst dann wohl, dass er garnicht soweit gekommen ist. Mir fällt auch auf, dass bei bestellungen über oxorder-afterbuy, der letzte Schritt der Bestellung (“Vielen Dank für Ihre Bestellung…”) fehlt und der bestellte Artikel im Warenkorb verbleibt.
Ich würde also mal sagen, dass die Bestellung garnicht erst “ausgelöst” wird.
Öhm nein das spricht dann eher für einen generellen Fehler,
der u.g. Aufruf verschickt die Bestellung neu an Afterbuy, und wenn da gar nix ausgegeben wird, dann ist das eher ein grundsätzliches Problem
der Shop distris.de hat jetzt die Afterbuy Anbindung.
Wichtig hierbei ist das man eine Afterbuy PartnerID und PartnerPasswort benötigt, die muss man beantragen, so nicht vorhanden.
Desweiteren haben sich Änderungen aufgedrängt wegen der neuen Shop Version.
Habe hier im Anhang mal die Änderungen als komplettes Modul nur hochgeladen
hat jemand das angepasste Modul von holgt in einer PE-Version laufen?
Wenn ich eine Bestellung abschicke, springe ich nach dem letzten Checkout-Schritt immer wieder auf die Startseite und der Artikel bleibt im Warenkorb. Bei Afterbuy kommt auch nichts an.
Die Bestellung wird allerdings im Admin aufgelistet. Rufe ich sie auf wird hier ebenfalls die Startseite des Shop anstatt der Bestelldaten angezeigt.
Rufe ich die orderinfo.php auf, erhalte ich die Meldung unauthorized.
Erst wenn ich die folgenden Zeilen auskommentiere erhalte ich die Ausgabe der Bestellung.
if (is_null($securetest)){
die('unauthorized');
}
else if($securetest != $afterbuy->securetestPass){
die('unauthorized afterbuy');
}
if (is_null($ordertest)){
die('do not forget &ordernr=');
}