Hallo zusammen, Ich benötige ein Feature um eine eigene StartSeite / Splashscreen in Shopware einzufügen. Diese Seite sollte beim ersten Zugriff auf den Shop (egal welche URL) aufgerufen werden. Erst wenn diese Seite vom User gelesen und bestätigt wurde, wird man auf die eigentliche URL weitergeleitet. Wie lässt sich sowas in Shopware realisieren? Besten Dank für hilfreiche Tipps schon im voraus Gruss Mark
Schau mal hier: http://www.dynamicdrive.com/dynamicinde … splash.htm Das könnte vielleicht was für dich sein.
Danke, das ist eine universelle Lösung mit Javascript. Sicher anwendbar, ist mir aber zu unsicher bzw. Splash Screen soll auch dargestellt werden wenn Java Script deaktiviert ist. Ich suche daher eine Lösung wo auf PHP basiert und z.B. das API von Shopware verwendet. Zum Beispiel wie funktioniert das Request Mapping zu Controller und Action bei Shopware? Gibt es eine Bessere Beschreibung als ? http://wiki.shopware.com/Shopware-4-Con … Controller Beispiel Fragen: - Was ist der zentrale Eingangs Controller, gibts den überhaupt? - Beipiel Weiterleitung, Dispatching an die verschiedenen Controller und Kontrolle über die Reihenfolge? - Beispiel Mapping der Events an Controller? - Request- Response Filter Chain, gibt es sowas bei Shopware? - Plugin Beispiele um den zentralen Controller zu erweitern oder überschreiben Beispiel eines Plugins wo den Controller erweitert oder überschreibt wäre natürlich willkommen, ähnlich wie hier aber allerdings für alle eingehenden Requests programmierung-f13/controller-erweitern-t1730.html Danke schon vorab Gruss Mark
Ok habe beim durchsehen der bestehenden Plugins ein einfaches Beispiel gefunden. Um z.B. alle eingehenden Requests permanent auf Google umzuleiten würde ein Plugin wie folgt aussehen (Anwendung auf eigene Gefahr )
class Shopware\_Plugins\_Frontend\_RouterSplashScreen\_Bootstrap extends Shopware\_Components\_Plugin\_Bootstrap { public function getVersion() { return '1.0.0'; } /\*\* \* Install plugin method \* \* Registers the plugin start event. \* \* @return bool \*/ public function install() { $this-\>subscribeEvent( 'Enlight\_Controller\_Front\_StartDispatch', 'onStartDispatch' ); return true; } /\*\* \* Loads the plugin before the dispatch. \* \* @param Enlight\_Event\_EventArgs $args \*/ public function onStartDispatch(Enlight\_Event\_EventArgs $args) { $event = new Enlight\_Event\_EventHandler( 'Enlight\_Controller\_Front\_PreDispatch', array($this, 'onPreDispatch') ); Shopware()-\>Events()-\>registerListener($event); } /\*\* \* @param Enlight\_Controller\_EventArgs $args \*/ public function onPreDispatch(Enlight\_Controller\_EventArgs $args) { $response = $args-\>getResponse(); $response-\>setRedirect("http://www.google.ch", 301); } }
Jetzt noch ein bisschen Configuration und Session Handling dann sollte ich haben was ich benötige.