Das Dreamrobotmodul funktioniert mit eurem Shop leider nicht.
Es ist aber zum normalen XT kompatibel.
Ist eine Anpassung möglich?
Das Script ist unten angefügt.
Der Fehler tritt in Zeile 44 auf.
Danke
PHP
<?php
// DreamRobot-Anbindung (ANFANG)
// Datum: 03.11.2006
// Xt-Commerce 3.0.3
// Xt-Commerce 3.0.4
// Xt-Commerce 3.0.4 SP1
// Xt-Commerce 3.0.4 SP2.1
// Anstatt eines "G" ein "Deutschland" senden
// Anstatt eines "A" ein "Österreich" senden
// Problem Kundenname und Vorname behoben
// Problem Lieferadresse behoben
// Problem Versandkosten behoben
// Verwendung ohne Gewähr
// Getestet mit o.a. Versionen von xtcommerce
include ('./dr/schnittstelle.inc.php');
$KLand = "";
if (($order->customer['country']['title'])== "G")
{ $KLand = "Deutschland";}
elseif(($order->customer['country']['title'])== "A")
{ $KLand = "Österreich";}
else
{ $KLand = $order->customer['country']['title'];}
$KLLand = "";
if (($order->delivery['country']['title'])== "G")
{ $KLLand = "Deutschland";}
elseif(($order->customer['country']['title'])== "A")
{ $KLand = "Österreich";}
else
{ $KLLand = $order->delivery['country']['title'];}
// Gebühren
$order_total_query_neu = xtc_db_query("SELECT * FROM ".TABLE_ORDERS_TOTAL."
WHERE orders_id='".$_SESSION['tmp_oID']."'
ORDER BY sort_order ASC");
$order_total_neu = array ();
$zk = '';
$cod_fee = '';
$cod_flag = false;
$discount_flag = false;
$gv_flag = false;
$coupon_flag = false;
$gv = '';
while ($order_total_values = xtc_db_fetch_array($order_total_query_neu)) {
$order_total_neu[] = array ('CLASS' => $order_total_values['class'], 'VALUE' => $order_total_values['value']);
// shippingcosts
if ($order_total_values['class'] == 'ot_shipping')
$shipping = $order_total_values['value'];
// nachnahmegebuer
if ($order_total_values['class'] == 'ot_cod_fee') {
$cod_flag = true;
$cod_fee = $order_total_values['value'];
}
// rabatt
if ($order_total_values['class'] == 'ot_discount') {
$discount_flag = true;
$rabatt_value = $order_total_values['value'];
$rabatt_title = $order_total_values['title'];
}
// Gutschein
if ($order_total_values['class'] == 'ot_gv') {
$gv_flag = true;
$gv = $order_total_values['value'];
}
if ($order_total_values['class'] == 'ot_coupon') {
$coupon_flag = true;
$coupon = $order_total_values['value'];
}
}
// Nachnahmegebühr vorhanden?
if(!empty($cod_fee)){
// Nachnahmegebühr wird auf die Versandkosten addiert
$order->info['shipping_cost'] = $order->info['shipping_cost'] + $cod_fee;
// Zahlart wird gesetzt
$order->info['payment_method'] = "Nachnahme";
$order->info['shipping_method'] = "Nachnahme";
}
// Wenn Rabatt gesetzt ist, müssen die die Produktanzahl um 1 erhöhen
if($discount_flag){
$product_count = count($order->products) + 1;
}else{
$product_count = count($order->products);
}
$dr_data="[url]http://www.dreamrobot.de/schnittstelle_automatic.php"[/url]
."?User=".urlencode($dr_username)
."&Pass=".urlencode($dr_password)
."&PosAnz=".$product_count
."&Kbenutzername=".urlencode($order->customer['email_address'])
."&KFirma=".urlencode($order->customer['company'])
."&KVorname=".urlencode($order->customer['firstname'])
."&KNachname=".urlencode($order->customer['lastname'])
."&KStrasse=".urlencode($order->customer['street_address'])
."&KPLZ=".urlencode($order->customer['postcode'])
."&KOrt=".urlencode($order->customer['city'])
."&KTelefon=".urlencode($order->customer['telephone'])
."&Kemail=".urlencode($order->customer['email_address'])
."&KLand=".urlencode($KLand)
."&Versandart=".urlencode($order->info['shipping_method'])
."&Versandkosten=".urlencode($order->info['shipping_cost'])
."&Zahlart=".urlencode($order->info['payment_method'])
."&Rabatt=".urlencode($order->info['products_discount_allowed'])
."&KKommentar=".urlencode($order->info['comments'])
."&Lieferanschrift=1"
."&KLFirma=".urlencode($order->delivery['company'])
."&KLVorname=".urlencode($order->delivery['firstname'])
."&KLNachname=".urlencode($order->delivery['lastname'])
."&KLStrasse=".urlencode($order->delivery['street_address'])
."&KLPLZ=".urlencode($order->delivery['postcode'])
."&KLOrt=".urlencode($order->delivery['city'])
."&KLLand=".urlencode($KLLand);
for($ix=0; $ix<count($order->products); $ix++) {
$strBNummer = "";
$strAttribute = "";
$arrAttribute = "";
$arrAttribute = $order->products[$ix]['attributes'];
$ac = count($arrAttribute);
if($ac>0) {
for($ax=0; $ax<$ac; $ax++) {
$strAttribute .= $order->products[$ix]['attributes'][$ax]['option']." ".$order->products[$ix]['attributes'][$ax]['value']."/";
$strBNummer = "_".$ax;
}
$strAttribute = substr($strAttribute, 0, -1);
}
if($strAttribute!="") {
$strAttribute = " (".$strAttribute.")";
}
$dr_data .= "&Artikelnr_".($ix+1)."=".urlencode($order->products[$ix]['model'].$strBNummer)
."&Artikelname_".($ix+1)."=".urlencode($order->products[$ix]['name'].$strAttribute)
."&ArtikelEpreis_".($ix+1)."=".urlencode(($order->products[$ix]['price']))
."&ArtikelMwSt_".($ix+1)."=".$order->products[$ix]['tax']
."&ZNummer_".($ix+1)."=".urlencode($order->products[$ix]['model'])
."&ArtikelMenge_".($ix+1)."=".urlencode($order->products[$ix]['qty']);
}
// Gibt es Rabatt?
if($discount_flag){
$dr_data .= "&Artikelnr_".($ix+1)."="
."&Artikelname_".($ix+1)."=".urlencode($rabatt_title)
."&ArtikelEpreis_".($ix+1)."=".urlencode($rabatt_value)
."&ArtikelMwSt_".($ix+1)."=19"
."&ZNummer_".($ix+1)."="
."&ArtikelMenge_".($ix+1)."=".urlencode(1);
}
$dr_data = str_replace(" ", "%20", $dr_data);
$dr_result = implode ('', file ($dr_data));
// Link zur Kaufabwicklung wird ausgelesen
if(preg_match_all('=<kaufabwicklung>(.*)</kaufabwicklung>=siU',$dr_result, $match)){
$_SESSION['kaufabwicklung_link'] = $match[1][0];
}
?>
Alles anzeigen