Admin/order_list.tpl um Kundennummer erweitern

Hallo zusammen.

Leider hänge ich bei folgendem Problem: Ich möchte gerne in der Admin-Bestellübersicht die Kundennummern angezeigt bekommen um dann danach sortieren zu können. Da ich im admin/order_list.tpl bereits die oxid der bestellung habe, wollte ich einfach eine DB Abfrage erstellen um dann so die Kundennummer zu bekommen. Jedoch schaffe ich es nicht die Variable (aus dem Template admin/oder_list.tpl):

[{$listitem->oxorder__oxid->value}]

in folgenden Code (welcher auch im Template steht) zu übergeben:

[{php}]
$sql = "SELECT oxuserid FROM oxorder WHERE oxid ='".$listitem->oxorder__oxid->value."'";

$rs = oxDb::getDb(true)->Execute($sql);

print_r($rs->fields[oxuserid]);
[{/php}]

Sauberer wäre wohl die Möglichkeit, dass ich $listitem erweitere, so dass neben den Informationen zur Firma, Name etc., auch die Kundennummer existiert:

[{$listitem->oxorder__oxcustnr->value}]

Jedoch habe ich keinerlei Idee, wo ich diese Angabe erweitern kann.

Ich hoffe, dass ich mein Problem verständlich genug beschrieben habe. Vielen Dank für Eure Hilfe schon jetzt.

o.Ô
wenn du an die oxuserid rankommen willst kannst du doch einfach oxorder__oxuserid schreiben…

Warum es aber nicht klappt $listitem abzufragen liegt wahrscheinlich daran, dass es im Smarty Scope definiert ist und nicht im PHP Scope. Aber sowas verrücktes habe ich nie probiert. Kann dir auch nur raten es zu lassen (PHP im Template == schmu) :wink:

Ansonsten, wenn du an die Kundennummer unter oxuser kommen willst schau dir mal die Modulentwicklung an. Gibt im Wiki 'n paar Beiträge zu. Du könntest dann Order_List so erweitern dass es dir eine Methode gibt welche da heißen könnte getCustNr($useroxid).

Wenn du es richtig machst kannst du das dann mit


[{$oView->getCustNr($listitem->oxorder__oxuserid->value) }]

im Template abfragen.

Oder du kannst kannst auch oxorder erweitern dann kannst du einfach schreiben


[{$listitem->getCustNr()}]

Du kannst aber auch einfach das benutzen was eh schon da ist und schreiben:

 
[{assign var=user value=$listitem->getOrderUser()}]
[{$user->oxuser__oxcustnr->value}]

Grüße

Rafael

[B]Vielen Dank, letzteres hat funktioniert.[/B] Ich habe inzwischen schon einige Funktionen überladen und eigene (kleine) Module geschrieben, aber darauf bin ich einfach nicht gekommen. Vielen Dank!!

Aber da fällt mir gleich noch eine Frage ein: Sehe ich irgendwo im internet welche get-Funktion an welcher Stelle zugänglich sind?

Bitte bitte.

Jop tuts, dort gibt’s ne Doku:
http://docu.oxid-esales.com/CE/sourcecodedocumentation/

Grüße

Rafael

Hallo zusammen,

ich habe auch zu der Kundennummer in der admin/order_list.tpl eine Frage.
Eingebunden habe ich die Kundennummer schon mit

<td valign="top" class="[{ $listclass}]" height="15"><div class="listitemfloating"><a href="Javascript:top.oxid.admin.editThis('[{ assign var='user' value=$listitem->getOrderUser()}]');" class="[{ $listclass}]">[{ $user->oxuser__oxcustnr->value }]</a></div></td>

Die Kundennummer wird mir auch angezeigt, allerdings würde ich gerne danach suchen können und das bereitet mir seit Tagen Kopfzerbrechen.

Weiß jemand wie bzw. wo ich die order_list.php oder das Template erweitern muss, damit ich nach der Kundennummer suchen kann? Ich würde es auch gerne mit dem Textfeld machen.
Mein PHP ist leider nicht sonderlich gut. Deshalb tue ich mich beim Code erstellen schwer. Im Internet habe ich so auch nichts gefunden.

Wäre um jede Hilfe sehr dankbar.

Viele Grüße
Sandra