Weiterleitung zu einer bestimmten Seite, nachdem das Kontaktformular in Magento eingereicht wurde

8

Wie kann ich auf eine bestimmte Seite umleiten, nachdem der Benutzer das Kontaktformular in Magento eingereicht hat? form.phtml hat

%Vor%

aber ich bin mir nicht sicher, wo ich die php-Datei finden kann, die die E-Mail-Versendung und Weiterleitungen steuert. irgendwelche Ideen? Danke

EDIT: gefunden in IndexController.php unter app & gt; Code & gt; Kern & gt; Magier & gt; Kontakte & gt; Controller

%Vor%     
pixeltocode 23.07.2010, 02:00
quelle

6 Antworten

2

IndexController.php unter App & gt; Code & gt; Kern & gt; Magier & gt; Kontakte & gt; Controller

geändert

%Vor%

bis

%Vor%

und es verweist jetzt auf die Homepage.

    
pixeltocode 23.07.2010, 02:12
quelle
14

Ich weiß, dass es beantwortet wurde, teile einfach meine Erfahrung. Ich hatte über eine CMS-Seite ein Kontaktformular erstellt. Die Form hat gut funktioniert. Aber nach dem Absenden würde es auf das Magento-Kontaktformular umleiten. Um es zurück zur CMS Seite umzuleiten, musste ich

setzen %Vor%

wobei contactus der URL-Bezeichner ist.

Auch nach der Weiterleitung wurde die Erfolgs- / Fehlermeldung nicht angezeigt. Dafür musste ich hier Änderungen vornehmen.

  

Gehe zu   /app/design/frontend/default/yourstore/template/contacts/form.phtml

%Vor%

mit:

%Vor%

Ich habe die Lösung von hier

    
noobcode 18.04.2011 08:00
quelle
4

Für die nächste Person

  1. gehe zur silk-Software und erstelle ein neues Modul mit ihrem Modul-Ersteller Ссылка
  2. Geben Sie Ihren Firmennamen und Modulnamen ein
  3. Ändern Sie dann "Need Rewrite Magento Class" in Ja
  4. Klicken Sie auf "Klasse hinzufügen". Der Klassenname lautet Mage_Contacts_IndexController
  5. Dies erstellt ein Modul mit allem, was Sie brauchen
  6. Fügen Sie die postAction-Methode vom Core Controller zu Ihrem neu erstellten Controller hinzu
  7. Ändern Sie dann die Weiterleitung zu redirectReferer () am Ende der postAction-Methode

Der Ersteller des Moduls erstellt alles, was Sie benötigen, um den Contacts Controller zu überlasten und Zeit für die Fehlersuche zu sparen. Sparen Sie sich auch den Weg, die Kerndateien direkt zu bearbeiten.

Bearbeiten Sie die Kerndateien nicht!

    
Brian Kimball 30.03.2016 01:10
quelle
3

Es könnte auch eine benutzerdefinierte URL-Umleitung erstellt werden.

id Pfad - Kontakte / Index Anfragepfad - Kontakte / Index Zielpfad - 'Redirect URL'

    
Jason Hill 07.01.2013 06:18
quelle
2

Um zu vermeiden, dass Core-Dateien überschrieben werden und die Update-Kompatibilität beeinträchtigt wird, habe ich den Controller wie hier beschrieben überlastet: Tutorial: Überladen eines Controllers

%Vor%

Und $this->_redirect('*/*/') in $this->_redirectReferer('contacts/index') umgeschrieben, so dass Sie auf die vorherige Seite umgeleitet werden, und wenn kein Referrer gesetzt wurde, nach / contacts / index als Fallback.

Ich habe auch form.phtml von

geändert %Vor%

bis

%Vor%

um die Fehlermeldungen anzuzeigen.

    
Simon 13.01.2015 10:50
quelle
-1

Die kombinierte Lösung wird in beiden Antworten von @Simon und den anderen gegeben

  • ändern $this->_redirect('*/*/') überall in app/code/core/Mage/Contacts/controllers/IndexController.php bis $this->_redirectReferer();
  • und aktualisieren Sie das Formular phtml, um die Fehler- / Erfolgsmeldung einzufügen, indem Sie app/design/frontend/base/default/template/contacts/form.phtml bearbeiten und die Zeile <?php Mage::app()->getLayout()->getMessagesBlock()->setMessages(Mage::getSingleton('customer/session')->getMessages(true)); ?> in messages_product_view
  • hinzufügen

Am besten kopieren Sie die Dateien in 'local'

    
SNH 25.11.2015 08:54
quelle

Tags und Links