oxUser update

Hallo,

ich habe in der Tabelle oxUser ein zusätzliches Feld “credit” eingefügt. Das auslesen aus der Tabelle funktioniert wunderbar, allerdings möchte ich beim Schritt 4 des Bestellprozesses genau diesen Wert bei der Bestätigung des Kunden verändern.

Musterbeispiel:

  • credit 50€ zu Beginn des Bestellvorgangs
  • kunde führt die Bestellung im Wert von 10€ durch
  • bei Schritt 4 des Bestellprozesses muss er die Bestellung bestätigen. [Genau hier soll dann die Datenbank bzw. das Userobjekt aktualisiert werden]
  • bei Schritt 5 soll credit 40€ betragen [aktuell aber nachwievor 50€]

Könnten mir bitte jemand helfen, da ich leider nicht genau weiß wie man das Userobjekt aktualisiert und die Vorschläge mit "invadr[oxid__xxxx] funktionieren leider auch nicht.

Vielen Dank
Benjamin

Da führt ziemlich sicher kein Weg an einem Modul vorbei. Hast du dafür bereits etwas programmiert?

dake für die rasche antwort,

kurz zur Vorgehensweise (Auszug aus order.tpl):

<div class=“bar prevnext terms”>
<form action="[{ $oViewConf->getSslSelfLink() }]" method=“post”>
<div>
[{ $oViewConf->getHiddenSid() }]
[{ $oViewConf->getNavFormParams() }]
<input type=“hidden” name=“cl” value=“order”>
<input type=“hidden” name=“fnc” value="[{$oView->getExecuteFnc()}]">
<input type=“hidden” name=“challenge” value="[{$challenge}]">
[{assign var=“paymentCheck” value=$oView->getPayment() }]
[{if $paymentCheck->oxpayments__oxid->value == ‘oxidinvoice’}]
[{math equation=“x-y” x=$oxcmp_user->oxuser__credit->value y=$oxcmp_basket->getPriceForPayment() format="%.2f" assign=result}]
[{$oxcmp_user->oxuser__credit.__set(“value”,$result)}]

              [{/if}]

              &lt;div class="right arrowright"&gt;

<input id=“test_OrderSubmitBottom” type=“submit” value="[{ oxmultilang ident=“ORDER_SUBMITORDER” }]">
</div>

Gedacht ist die Datensatzänderung mittels Getter und Setter (siehe set oben, allerdings funktioniert diese nicht). Ist es möglich mehrere “fcn” in einer Form aufzurufen, oder gibt es hier andere Vorgehensweisen.

Beim User Anlegen bzw. Ändern der Rechnungsanschrift funktioniert eine Änderung des Datensatzes ja in den Standard tpls.

Hast du eine Ahnung wie ich es an dieser Stelle kombinieren kann. (Die Speicherung sollte später in der thankyou.tpl ausgeführt werden, ist nur zu Testzwecken in der order.tpl.)

Arbeite gerade ein einer anderen Vorgansweise, würde mich aber über Ratschläge freuen.

LG
Benjamin