AGBs werden nicht als angehakt erkannt

Hallo,

ich bin gerade dabei in der CE 4.6.2 mit Azure Theme die order.tpl entsprechend dem Muster von Trusted Shops umzubauen.

Ich habe die AGBs nach oben gesetzt, aber wenn ich jetzt im Bestellprozess auf der Seite 4 den Haken für die AGBs und das Widerrufsrecht setze und bestellen will, kommt jedesmal die Meldung das ich doch bitte die AGBs akzeptieren möge…

Zur Vorgehensweise: Ich habe in der out/azure/tpl/page/order.tpl den block von zeile 187-211:

[{*neue Position der AGBs*}]
		<div class="agb">
                                [{if $oView->isActive('PsLogin') }]
                                    <input type="hidden" name="ord_agb" value="1">
                                [{else}]
                                    [{if $oView->isConfirmAGBActive()}]
                                        [{oxifcontent ident="oxrighttocancellegend" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="0">
                                            <input id="checkAgbBottom" class="checkbox" type="checkbox" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                        <p class="errorMsg" name="agbError">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_READANDCONFIRMTERMS" }]</p>
                                    [{else}]
                                        [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                    [{/if}]
                                [{/if}]
                            </div>
							[{*Ende der AGBs*}]

in die Zeile 26 gesetzt.

Was habe ich vergessen bzw. falsch gemacht ?

Vielen Dank für eure Tipps.

Gruß BB


<form>
.
input elements
.
</form>

Ich habe das jetzt mal testweise in form-tags gepackt aber das hat nur dazu geführt das der Button zum bestellen jetzt wieder ohne Funktion ist.

Mit einfachem hin und her kopieren bzw. ausschneiden ist es wohl nicht getan :frowning: :(.

Habe es jetzt so angepasst:

<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="sDeliveryAddressMD5" value="[{$oView->getDeliveryAddressMD5()}]">
		[{*neue Position der AGBs*}]
		<div class="agb">
                                [{if $oView->isActive('PsLogin') }]
                                    <input type="hidden" name="ord_agb" value="1">
                                [{else}]
                                    [{if $oView->isConfirmAGBActive()}]
                                        [{oxifcontent ident="oxrighttocancellegend" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="0">
                                            <input id="checkAgbBottom" class="checkbox" type="checkbox" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                        <p class="errorMsg" name="agbError">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_READANDCONFIRMTERMS" }]</p>
                                    [{else}]
                                        [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                    [{/if}]
                                [{/if}]
                            </div>
								</form>

Wo mache ich denn den Fehler ??

[QUOTE=Bob Byte;95679]
Mit einfachem hin und her kopieren bzw. ausschneiden ist es wohl nicht getan :frowning: :(.
[/QUOTE]

Ne, ganz selten:-)
Nach meiner ersten Antwort zu urteilen, müssen alle Elemente innerhalb des Form Tags sein, damit dies funktioniert. Wenn dein Button nun nicht funzt, könnte das was bedeuten? Also ich sehe den Button nicht innerhalb.
Schließe doch probeweise das Form erstmal nach dem Button und schaue ob er dann sendet:-)

Das habe ich ja gehabt, aber das hat trotzdem nicht funktioniert:

<div class="lineBox clear">
                                <a href="[{ oxgetseourl ident=$oViewConf->getPaymentLink() }]" class="prevStep submitButton largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_BACKSTEP" }]</a>
                                <button type="submit" class="submitButton nextStep largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_SUBMITORDER" }]</button>
                            </div>
                        </form>

Das form-tag schließt jetzt ja nach dem Button.

Gibt es denn sonst irgendwelche “Abhängigkeiten”, die ich kaputt gemacht habe, dadurch das ich nur die AGBs mit nach oben genommen habe ?

Dann hast Du vermutlich noch ein anderes Formular mit eingeschlossen.

BTW: Nach einem mir vorliegendem Whitepaper vom Händlerbund, muss die Checkbox nicht unbedingt sein, wenn es ganz oben vor allen Informationen liegt. Wenn Du im Backend abstellst, dass die AGB bestätigt werden müssen, musst du da oben nämlich nur einfügen.


[{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
       [{ $oContent->oxcontents__oxcontent->value }]
 [{/oxifcontent}]

Der Bestellbutton war ja mit im Form-tag der AGBs. Den habe ich ja mit nach oben genommen und dort auch wieder geschlossen. Deswegen fehlt mir der eröffnende form-tag für den Bestell-button.

So vielleicht besser verständlich:

<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="sDeliveryAddressMD5" value="[{$oView->getDeliveryAddressMD5()}]">
		[{*neue Position der AGBs*}]
		<div class="agb">
                                [{if $oView->isActive('PsLogin') }]
                                    <input type="hidden" name="ord_agb" value="1">
                                [{else}]
                                    [{if $oView->isConfirmAGBActive()}]
                                        [{oxifcontent ident="oxrighttocancellegend" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="0">
                                            <input id="checkAgbBottom" class="checkbox" type="checkbox" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                        <p class="errorMsg" name="agbError">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_READANDCONFIRMTERMS" }]</p>
                                    [{else}]
                                        [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                    [{/if}]
                                [{/if}]
                            </div>
					</form>			

Das ist der Form-Block für die AGBs.

In der Original - order.tpl:

<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="sDeliveryAddressMD5" value="[{$oView->getDeliveryAddressMD5()}]">
                            <div class="agb">
                                [{if $oView->isActive('PsLogin') }]
                                    <input type="hidden" name="ord_agb" value="1">
                                [{else}]
                                    [{if $oView->isConfirmAGBActive()}]
                                        [{oxifcontent ident="oxrighttocancellegend" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="0">
                                            <input id="checkAgbBottom" class="checkbox" type="checkbox" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                        <p class="errorMsg" name="agbError">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_READANDCONFIRMTERMS" }]</p>
                                    [{else}]
                                        [{oxifcontent ident="oxrighttocancellegend2" object="oContent"}]
                                            <h3 class="section">
                                                <strong>[{ $oContent->oxcontents__oxtitle->value }]</strong>
                                            </h3>
                                            <input type="hidden" name="ord_agb" value="1">
                                            [{ $oContent->oxcontents__oxcontent->value }]
                                        [{/oxifcontent}]
                                    [{/if}]
                                [{/if}]
                            </div>
                            <div class="lineBox clear">
                                <a href="[{ oxgetseourl ident=$oViewConf->getPaymentLink() }]" class="prevStep submitButton largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_BACKSTEP" }]</a>
                                <button type="submit" class="submitButton nextStep largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_SUBMITORDER" }]</button>
                            </div>
                        </form>

Jetzt steht der Button ohne eröffnenden form-tag da:

<div class="lineBox clear">
                                <a href="[{ oxgetseourl ident=$oViewConf->getPaymentLink() }]" class="prevStep submitButton largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_BACKSTEP" }]</a>
                                <button type="submit" class="submitButton nextStep largeButton">[{ oxmultilang ident="PAGE_CHECKOUT_ORDER_SUBMITORDER" }]</button>
                            </div>
                        </form>

Mit welchem Form-Tag muss ich denn den Bestellbutton “eröffnen” damit der wieder komplett drin ist ?

Btw: Soweit ich das eben gesehen habe ist ja der AGB-Block doppelt ( konnte man ja vorher oben und optional unten anzeigen lassen ) in der order.tpl enthalten. Kann mir da sonst irgendas querschießen ?

Nochmals: Es ist nicht nötig, die AGB vom Kunden abhaken zu lassen, sofern sie ganz oben stehen. Warum willst Du dann diese kleine Hürde einbauen?

Ferner kann das so nicht funktionieren. Du kannst nicht Teile von Formularen wahlos verschieben und andere Teile stehen lassen. Wenn Du das wirklich so machen willst, wirst du um eine separate Prüfung und ein zweites Formular nicht rumkommen.

Ich hab mir aber die order.tpl noch nicht angeschaut, und mir fehlt auch etwas die Zeit dazu, deshalb kann ich Dir keinen Lösungsansatz bieten.

ok, dann lass ich die AGBs einfach weg ;).

Ich habe auch mittlerweile keinen Nerv mehr darauf. ich wollte es nur gerne haben, weil ich es oben überall gesehen habe(Trusted Shops etc ).

Trotzdem vielen Dank für deine Hilfe und Geduld :slight_smile:

Gruß BB

Ein Formular muss immer in sich abgeschlossen sein, Dir fehlt dann bei den AGB’s oben der Bezug zum Formular des Absende-Buttons. Die restlichen Formulare müssen quasi entfernt und zu normalen Links umgebaut werden um die Anhakfunktionalität weiterhin verwenden zu können.

Fürs Basic hab ich das entsprechend umgebaut und der Community zur Verfügung gestellt. Du kannst Dir ja das order.tpl runterladen und Dein Template entsprechend dem Muster umbauen.

Darf man die AGB nicht unten belassen, wenn sie bestätigt werden müssen?
Es erfolgt dann im Bestellprozess auch sichtbar die Meldung, das die AGB bestätigt werden müssen.

zwischen Warenkorb und “zahlungspflichtig bestellen” sollte nichts anderes mehr rein, sionst geht der geforderte, direkte Zusammenhang verloren