Neu Checkboxen im Checkout verschieben

Ugenmeister

Gut bekanntes Mitglied
28. August 2013
497
12
Shop: 4.05 B3

Hallo.
Ich möchte die Checkboxen AGB und WB im Checkout (Zahlungspflichtig bestellen Seite) an eine andere Position auf dieser Seite verschieben. Dafür wollte ich den Quellcode von step5_confirmation.tpl
Code:
    <form method="post" name="agbform" id="complete_order" action="{get_static_route id='bestellabschluss.php'}">
        {$jtl_token}
        {if $Einstellungen.kaufabwicklung.bestellvorgang_wrb_anzeigen == 1}
            {lang key="cancellationPolicyNotice" section="checkout" assign="cancellationPolicyNotice"}
            {lang key="wrb" section="checkout" assign="wrb"}
            {if isset($AGB->kLinkWRB) && $AGB->kLinkWRB > 0}
                {assign var='linkWRB' value='<a href="navi.php?s='|cat:$AGB->kLinkWRB|cat:'" class="popup">'|cat:$wrb|cat:'</a>'}

                <div class="alert alert-info">{$cancellationPolicyNotice|replace:"#LINK_WRB#":$linkWRB}</div>
            {elseif !empty($AGB->cWRBContentHtml)}
                {block name="checkout-confirmation-modal-agb-html"}
                {assign var='linkWRB' value='<a href="#" data-toggle="modal" data-target="#wrbHtmlModal" class="modal-popup" id="wrb">'|cat:$wrb|cat:'</a>'}
                <div class="alert alert-info">{$cancellationPolicyNotice|replace:'#LINK_WRB#':$linkWRB}</div>
                <div class="modal fade" id="wrbHtmlModal" tabindex="-1" role="dialog" aria-labelledby="wrbHtmlLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                <h4 class="modal-title" id="wrbHtmlLabel">{lang key="wrb" section="checkout"}</h4>
                            </div>
                            <div class="modal-body">
                                {$AGB->cWRBContentHtml}
                            </div>
                        </div>
                    </div>
                </div>
                {/block}
            {elseif !empty($AGB->cWRBContentText)}
                {block name="checkout-confirmation-modal-agb-text"}
                {assign var='linkWRB' value='<a href="#" data-toggle="modal" data-target="#wrbTextModal" class="modal-popup" id="wrb">'|cat:$wrb|cat:'</a>'}
                <div class="alert alert-info">{$cancellationPolicyNotice|replace:'#LINK_WRB#':$linkWRB}</div>
                <div class="modal fade" id="wrbTextModal" tabindex="-1" role="dialog" aria-labelledby="wrbTextLabel">
                    <div class="modal-dialog" role="document">
                        <div class="modal-content">
                            <div class="modal-header">
                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                                <h4 class="modal-title" id="wrbTextLabel">{lang key="wrb" section="checkout"}</h4>
                            </div>
                            <div class="modal-body">
                                {$AGB->cWRBContentText}
                            </div>
                        </div>
                    </div>
                </div>
                {/block}
            {/if}
        {/if}
        {if !isset($smarty.session.cPlausi_arr)}
            {assign var=plausiArr value=array()}
        {else}
            {assign var=plausiArr value=$smarty.session.cPlausi_arr}
        {/if}

        {hasCheckBoxForLocation bReturn="bCheckBox" nAnzeigeOrt=$nAnzeigeOrt cPlausi_arr=$plausiArr cPost_arr=$cPost_arr}
        {if $bCheckBox}
            <hr>
            {include file='snippets/checkbox.tpl' nAnzeigeOrt=$nAnzeigeOrt cPlausi_arr=$plausiArr cPost_arr=$cPost_arr}
            <hr>
        {/if}
        <div class="row">
            <div class="col-xs-12 order-submit">
                {block name="checkout-confirmation-confirm-order"}
                <div class="panel-wrap basket-well basket-final">
                    <div class="panel panel-primary" id="panel-submit-order">
                        <div class="panel-body">
                            <input type="hidden" name="abschluss" value="1" />
                            <input type="hidden" id="comment-hidden" name="kommentar" value="" />
                            {include file="checkout/inc_order_items.tpl" tplscope="confirmation"}
                            <input type="submit" value="{lang key="orderLiableToPay" section="checkout"}" id="complete-order-button" class="btn btn-primary btn-lg pull-right submit submit_once" />
                            <a href="{get_static_route id='warenkorb.php'}" class="btn btn-link btn-lg">{lang key="modifyBasket" section="checkout"}</a>
                        </div>
                    </div>
                </div>
                {/block}
            </div>
        </div>{* /row *}
    </form>

... nach </table> in der inc_order_items.tpl setzen. Leider verschwindet der Shop dann und die Seite bleibt weiß.
Mach ich hier einen Denkfehler? Danke für Eure Unterstützung.

Gruß
 

Ugenmeister

Gut bekanntes Mitglied
28. August 2013
497
12
Wo sind die Profis unter Euch? Wäre schön wenn mir jemand auch nur Tipps oder Hinweise geben könnte, um das Problem zu lösen.
Vielen Dank.

Gruß
 

Rico Giesler

Offizieller Servicepartner
SPBanner
10. Mai 2017
13.243
1.515
Das sich der Checkout im 4.06 nochmal verändert hat sollte hier eventuell überlegt werden dies wenn dann mit der neuen Version umzusetzen.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Hallo, wenn du den o.g. Block in die checkout/inc_order_items.tpl verschiebst, dann erzeugst du eine Endlosrekursion, da sich die Datei dann wegen
PHP:
{include file="checkout/inc_order_items.tpl" tplscope="confirmation"}
immer wieder selbst inkludiert. Irgendwann steigt dann PHP mit einem Stack- oder Memoryüberlauf oder einfach wegen zu vieler Rekursionen aus.
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Ich bin zwar nicht Felix ;) aber ich nehm das trotzdem mal an... Wohin sollen den die Boxen verschoben werden? Du sprichst nur von "an eine andere Position auf dieser Seite" - das kann überall sein.
 

301Moved

Sehr aktives Mitglied
19. Juli 2013
930
188
was ich tendenziell eigentlich auch für eine gute Position halte... Kunden übersehen gerne mal, dass man das über der Artikelliste anklicken muss
Ich häng mich mal an :)
 

FPrüfer

Moderator
Mitarbeiter
19. Februar 2016
1.881
524
Halle
Wenn ich es richtig verstanden habe, dann müßte es doch genügen in der Template-Datei checkout/step5_confirmation.tpl den Block
PHP:
{if $bCheckBox}
    <hr>
    {include file='snippets/checkbox.tpl' nAnzeigeOrt=$nAnzeigeOrt cPlausi_arr=$plausiArr cPost_arr=$cPost_arr}
    <hr>
{/if}
ein paar Zeilen nach unten direkt hinter
PHP:
{include file="checkout/inc_order_items.tpl" tplscope="confirmation"}
zu verschieben.
 

david

Administrator
Mitarbeiter
16. Juli 2010
2.310
170
Ergänzend möchte ich noch erwähnen, dass unsere Gesetzgebung in DE eine unmittelbare Nähe zwischen den Informationen und dem zugehörigen Kaufen-Button vorschreibt.
Die "Buttonlösung", in welcher diese Forderung formuliert ist, gilt seit dem 01.08.2012.
Checkboxes sind auf der Bestellabschlussseite nicht vorgeschrieben und gehören nicht zu den Informationen, welche in der Buttonlösung aufgeführt sind.
Wer hier Anpassungen vornehmen möchte, sollte im Zweifel bitte mit einem Fachanwalt Rücksprache halten.