checkout controller aufrufen

Ich möchte aus einer Template-Datei heraus über “include” die Seite frontend/checkout/confirm.tpl laden. Leider funktioniert dies nicht so wirklich. Also komplett steht in der Template-Datei {include file=“frontend/checkout/confirm.tpl”}. Kann ich die confirm so nicht aufrufen? Gibt es eine andere Möglichkeit?

Danke.

Hallo trachten,

was genau möchtest du denn tun? Einfach auf den Checkout Controller weiterleiten oder wirklich den Inhalt der confirm.tpl in deinem eigenen Template anzeigen?

Viele Grüße aus Schöppingen

 Michael Telgmann

Hallo Herr Telgmann,

eigentlich möchte ich nur eine Weiterleitung zum Checkout Controller. Das heißt, wenn in meinem eigenen Template eine Bedingung erfüllt ist, dann soll auf den Checkout weitergeleitet werden.

Viele Grüße aus Regensburg 

Hallo trachten,

wie wird diese Bedingung denn erfüllt? Und wie möchtest du dann weiterleiten? per Javascript?

Es gibt für Smarty eine Funktion die eine URL generiert. Die könntest du nutzen:

{url controller=checkout action=confirm}

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Herr Telgmann,

also ich habe eine {if} Anweisung direkt im Template ohne Javascript. Wenn Bedingung 1 erfüllt ist, dann soll die Weiterleitung zum Checkout erfolgen. Aktuell ist es so, dass ich es über {include} versucht habe, was nicht klappt. Aber den Hinweis mit Javascript werde ich mal testen. Das {url…} funktioniert ja so nicht alleinstehend, oder? Das heißt, wenn ich einfach {url controller=checkout action=confirm} schreibe, wird nichts passieren.

Viele Größe aus Regensburg.

Hallo trachten,

genau, das {url …} generiert nur an dieser Stelle einen Link (http://www.example.com/checkout/confirm

Wie werden denn die Werte gesetzt, die du in dem if abfragst? Falls du sie als Template Variablen vorher im Controller an die View assigned hast, wäre es vielleicht einfacher vorher im Controller diese Bedinung zu überprüfen. Im Controller hast du dann die Möglichkeit die Methode redirect() zu nutzen. 

Viele Grüße aus Schöppingen

cool Michael Telgmann

Hallo Herr Telgmann,

ich glaube, soweit stecke ich in Shopware noch nicht drin. Das assign bekomme ich im Controller noch hin, aber wie kann ich im Controller eine Bedingung prüfen und das redirect einbinden?

Danke.

Grüße aus Regensburg

@trachten schrieb:

Hallo Herr Telgmann,

ich glaube, soweit stecke ich in Shopware noch nicht drin. Das assign bekomme ich im Controller noch hin, aber wie kann ich im Controller eine Bedingung prüfen und das redirect einbinden?

Danke.

Grüße aus Regensburg

Hallo,

ein Beispiel dafür wäre dies (auch wenn Shopware 4 dabei steht, gibt es dort die Controllerprüfung als auch den redirect bzw. forward): http://community.shopware.com/Warenkorbprozess\_detail\_1031.html .

Beste Grüße

Sebastian

1 „Gefällt mir“

Hi trachten,

in deinem Controller hast du ja bestimmt irgendwie so etwas wie folgendes gemacht: (ganz dummes, simples Beispiel Grin )

if ($foo == 1) {
    $bedingung = true;
} else {
    $bedingung = false;
}
$view->assign('bedingung', $bedingung);

Diese Bedingung brauchst du aber nicht mal ans Template übergeben:

if ($foo == 1) {
    $this->redirect(array('controller' => 'checkout', 'action' => 'confirm'));
} else {
    // mache etwas anderes
}

Hilft dir das weiter?

Viele Grüße aus Schöppingen

 Michael Telgmann