Zusatzfeld im Schritt "ORDER"

Hallo,

vielleicht sehe ich den Wald vor Bäumen nicht, aber hier meine Frage:

Ich möchte im letzten Bestellschritt (ORDER) ein zusätzliches Feld (Checkbox) abfragen und in der DB speichern. Hierzu habe ich in der OXORDER die neue Spalte EXTRAFELD angelegt. Im Template order.tpl habe ich folgendes stehen:

    <input type="hidden" name="invadr[oxorder__extrafeld]" value="0">
    <input name="invadr[oxorder__extrafeld]" value="1" type="checkbox">

Leider wird der Wert des Feldes nach Bestellabschluss nicht in der Datenbank gespeichert.
Was mache ich falsch? :confused:

PS: Ich habe mich hieran orientiert (http://forum.oxid-esales.com/showthread.php?t=21804&langid=2). Zusätzliche Felder bei der Registrierung sind auch kein Problem nur im Bestellschritt ORDER klappt es nicht (habe erfolglos die Suchfunktion benutzt…).

hast Du nach den Umbauten die VIEWS aktualisiert? (Button im Admin, ich glaub unter “Service” - “Tools”)

Views wurden geupdated. In der DB Tabelle OXORDER, Spalte EXTRAFELD steht weiterhin bei jeder Bestellung NULL, d.h. es wird gar kein Wert an die DB übermittelt. Übersehe ich etwas? :frowning:

An dieser Stelle habe ich die Checkbox in order.tpl eingebunden:

    <form action="[{ $oViewConf->getSslSelfLink() }]" method="post" id="orderConfirmAgbBottom">

        [{ $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}]">
        <input type="hidden" name="ord_agb" value="1">
            <div class="agb">

                [{if $oView->isActive('PsLogin') }]
                    <input type="hidden" name="ord_agb" value="1">
                [{else}]
                    <h3 class="section">
                        <strong>[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_TERMS_TITLE" }]</strong>
                    </h3>

                    [{if $oView->isConfirmAGBActive()}]
                        <input type="hidden" name="ord_agb" value="0">
                        <input class="checkbox" type="checkbox" name="ord_agb" value="1">
                        [{oxifcontent ident="oxrighttocancellegend" object="oContent"}]
                            [{ $oContent->oxcontents__oxcontent->value }]
                        [{/oxifcontent}]
                    [{else}]
                        <input type="hidden" name="ord_agb" value="1">
                        [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
                            [{ $oContent->oxcontents__oxcontent->value }]
                        [{/oxifcontent}]
                    [{/if}]

                [{/if}]

<input type=“hidden” name=“invadr[oxorder__extrafeld]” value=“0”>
<input name=“invadr[oxorder__extrafeld]” value=“1” type=“checkbox”>

            &lt;/div&gt;

        &lt;div class="lineBox clear"&gt;
            &lt;a href="[{ oxgetseourl ident=$oViewConf-&gt;getPaymentLink() }]" class="submitButton largeButton"&gt;[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_BACKSTEP" }]&lt;/a&gt;
            &lt;button type="submit" class="submitButton nextStep largeButton"&gt;[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_SUBMITORDER" }]&lt;/button&gt;
        &lt;/div&gt;

    &lt;/form&gt;

Ohne drängeln zu wollen, aber hat hier niemand ein zusätzliches Feld im letzten Bestellschritt untergebracht und kann uns auf die Sprünge helfen, wo der Denkfehler liegt? :o

Wieso setzt Du vorher noch ein hidden? Wenn nicht gechecked, ist doch das Feld auf jeden Fall NULL. Oder möchtest Du unbedingt eine 0 drin haben?

Probiers mal bitte so:


<input name="oxorder__extrafeld" value="1" type="checkbox">