Warenkorb und Kundendaten in PHP

Hi Leute,

ich bin gerade dabei unser Paypal Modul für Billsafe zu erweitern doch leider habe ich ein paar Probleme an alle Daten zu kommen.

Das Modul erweitert Order, Ziel ist es den Kunden in der order.tpl über einen Button auf Billsafe zu leiten was soweit auch klappt nur habe ich Probleme alle Daten in PHP abzufangen um sie an Billsafe weiterzuleiten.

Die meisten Daten kann ich abfangen, aber was ich zum bsp nicht in PHP abgreifen kann ist die Bestellmenge der einzelnen Artikel. In der order.tpl ist ja eigentlich alles vorhanden nur irgendwie bin ich zu Doof das alles in PHP abzufangen/ übergeben.

So lese ich in PHP die Artikelliste ein…

  	$zahler=0;
  	foreach($basketArticleList as $key => $val) {
  		$output['articleList_'.$zahler.'_number']=$val->oxarticles__oxartnum->value;
  		$output['articleList_'.$zahler.'_name']=$val->oxarticles__oxtitle->value;
  		$output['articleList_'.$zahler.'_quantity']="Wie bekomme ich die Menge???";
                            ...
                            ...
  		
  		$zahler++;

  	}

Hoffentlich kann mir jemand Helfen. :slight_smile:

Ich habe jetzt mehr oder weniger alles versucht, es will einfach nicht funktionieren.

Im Template (order.tpl) kann ich mir die Menge der einzelnen Artikel mit [{$basketitem->getAmount() }] anzeigen lassen. Es muss doch möglich sein das gleiche in PHP zu realisieren, habe jetzt schon alle möglichen Dateien durchforstet aber nichts will funktionieren. :frowning:

Bin für jede Hilfe dankbar.

Bin gerade echt am verzweifeln…

Im Debug kann man ja erkennen das in $oBasket alle Infos vorhanden sind.

Mit $oBasket->aBasketContents[‘95aa0acab86e4bb112483f21b9728efc’]->dAmount; kann ich mir die Menge eines bestimmten Artikels ausgeben, die zahl ist wohl irgendein SHA/Hash Wert oder was auch immer da es nicht die OXID ist.

Jemand eine Idee wo ich den Wert in PHP herbekomme damit ich das Array in einer Schleife auslesen kann oder wie ich es ohne den Wert auslesen kann. :confused:

Hallo bell,

hier ein Code Snippet mit dem du im Prinzip alle erforderlichen Informationen bekommst:

class jag_order extends jag_order_parent
{
    public function jag_getBasketContentList()
    {
        $oBasket = $this->getBasket();
        $oBasketProducts = $this->getBasketArticles();
        
        $i = 0;
        
        foreach ($oBasket->getContents() as $basketindex => $oBasketItem) {
            $oBasketProduct = $oBasketProducts[$basketindex];
            
            $aOuput['articleList_'.$i.'_number'] = $oBasketProduct->oxarticles__oxartnum->value;
            $aOuput['articleList_'.$i.'_name'] = $oBasketProduct->oxarticles__oxtitle->value;
            
            $aOuput['articleList_'.$i.'_quantity'] = $oBasketItem->getAmount();
            $aOuput['articleList_'.$i.'_unitprice'] = $oBasketItem->getUnitPrice()->getBruttoPrice();
            
            $aOuput['articleList_'.$i.'_total'] = $oBasketItem->getPrice()->getBruttoPrice();
            
            $i++;
        }        
        return $aOuput;
    }
}

Kurze Erklärung: die Produkte in dem oxBasket sind an und für sich keine oxArticles sondern oxBasketItems. Ich habe jetzt der Einfachkeit halber einfach die Funktion aus dem Template in PHP nachgebaut, um die Informationen zu bekommen.

ggf. müsstest du noch schauen, wie es sich bei Dreingaben und Bundles verhält.

Viele Grüße
Benny

Hey, vielen dank das funktioniert. Du bist mein Held des Tages! :smiley: