Wenn ich etwas von dem category
zum hinzufüge, basket/cart
leitet es mich zum weiter basket/cart
.
Nach der Suche stellte ich fest, dass ich diese Funktionalität im Admin-System über aktivieren konnte
Configuration > Sales | Checkout > After Adding a Product Redirect to Shopping Cart
Es wird jetzt zur Startseite weitergeleitet. Ich weiß nicht, ob dies ein Fehler in der Weiterleitung ist.
Antworten:
Wenn Sie in die Wagensteuerung schauen,
app/code/core/Mage/Checkout/controllers/CartController.php
finden Sie die Funktion_goBack
. Hier wird die Rückgabe-URL von Magento festgelegt.Der Abschnitt, nach dem Sie suchen, ist der Aufruf
_getRefererUrl
dazu, wenn Sie die Rückgabe-URL nicht als Parameter festlegen und nicht die Standardoption zum Umleiten in den Warenkorb verwenden.Innerhalb der Funktion wird
_getRefererUrl
die Referrer-URL überprüft, um festzustellen, ob es sich um eine interne URL handelt, wenn sie nicht intern ist, als die Basis-URL verwendet wird.Ich würde vorschlagen, dass entweder Ihre Referrer-URL extern ist oder dass mit der Prüfung etwas nicht stimmt.
Schauen Sie sich an
Mage_Core_Controller_Varien_Action::_isUrlInternal
, um zu debuggen, ob die URL intern ist oder nicht.Das Problem war, dass _isUrlInternal fehlschlug, weil der Port in der Basis-URL enthalten war
quelle
Zusätzlich zur Antwort von David-Manieren haben Sie möglicherweise auch Probleme damit, dass Sie
web/unsecure/base_url
&web/secure/base_url
ohne Ports richtig eingestellt sind - aber Ihr tatsächlicher App-Vhost (Apache / Nginx) überwacht einen anderen Port als 80/443, z. B. wenn Sie hinter Lack laufen.Dies führt dazu
\Mage_Core_Helper_Url::getCurrentUrl
, dass z. B. zum Hinzufügen der base64-codierten Abfrageparameter verwendet wird - dekodiert und verwendet, indem_getRefererUrl
der 'nicht standardmäßige' Port als Teil der URL verwendet wird. (zB http://www.domain.com:81/your-url.html )Als Ergebnis wird
Mage_Core_Controller_Varien_Action::_isUrlInternal
false zurückgegeben ...quelle
Versuchen Sie, Ihr
web/unsecure/base_url
&web/secure/base_url
mit127.0.0.1
anstelle von zu setzenlocalhost
. Bei mir hat es geklappt.quelle