Bug in der Bestellhistorie des Kunden?

Hi zusammen,

ein neu registrierter Kunde bekommt in der Bestellhistorie
trotz Bestellungen = 0 nicht angezeigt, dass keine Bestellungen
vorhanden sind.

Sprich

[{if count($oView->getOrderList()) > 0}] greift im account_order.tpl

nicht.

Habe die Abfrage nun geändert in

[{if $oView->getOrderList() == true }]

und schon klappts wunderbar, denn die getOrderList gibt ja nen booleanschen
Wert zurück. Ist das denn ein Bug?

Viele Grüße und Dankeschön vom Chris

[QUOTE=coarsy;35237]Hi zusammen,

ein neu registrierter Kunde bekommt in der Bestellhistorie
trotz Bestellungen = 0 nicht angezeigt, dass keine Bestellungen
vorhanden sind.

Sprich

[{if count($oView->getOrderList()) > 0}] greift im account_order.tpl

nicht.

Habe die Abfrage nun geändert in

[{if $oView->getOrderList() == true }]

und schon klappts wunderbar, denn die getOrderList gibt ja nen booleanschen
Wert zurück. Ist das denn ein Bug?

Viele Grüße und Dankeschön vom Chris[/QUOTE]
Hi Chris, welche Version benutzt du eigentlich? Ist immer gut zu wissen, wenn ein Bug existiert, wo man den reproduzieren soll.

Zudem: die Funktion gibt kein Boolean zurück, sondern ein Array (siehe view/account_order.php):


    /**
     * Template variable getter. Returns orders
     *
     * @return array
     */
    public function getOrderList()
    {

Lass dir mal mit [{debug}] die Daten anzeigen :wink:

Hi Fibrefox,

ich benutze die Version 4.4.0. Hast natürlich recht, hatte ich vergessen mit anzugeben.
Stimmt, in der Versionsdefinition steht, dass ein Array zurückgeliefert wird.

Wenn man den Wert der Abfrage auf [{if count($oView->getOrderList()) > 2}] setzt, wird
auch der Hinweis, dasses keine Bestellungen gibt ausgegeben. Die Funktion scheint dennoch
ein true zurückzugeben… Naja, wie dem auch sei, ich debugge das Ganze mal und geb dann
hier nochmal Bescheid.

Dankeschön erstmal und ein schönes Wochenende wünscht,

Chris

So, hab jetzt nochmal debuggt.
Wenn eine Bestellung vorhanden ist, wird ein riesiges Array zurückgeliefert.
Hat der Kunde noch keine Bestellung getätigt, wird auf jeden Fall

FALSE

zurückgeliefert, was natürlich mit der eigentlichen Abfrage nicht funktioniert.
Deswegen sehe ich meinen Ansatz schon als den Richtigen.

Viele Greetz vom Chris

Hi, hast Du das gleiche Problem gehabt, wie ich? Beschrieben (mit Screenshot) habe ich es in einem Extrathread (http://www.oxid-esales.com/forum/showthread.php?t=5910).

Habe gerade eine Lösung für mein Problem gefunden :wink: Du aber ja auch, wie es scheint… habe es mir erlaubt, in meinem Thread auf diesen hier zu verweisen…