Перенаправить клиента обратно на продукт после входа в Magento - PullRequest
2 голосов
/ 28 октября 2011

По умолчанию, когда клиент I входит в Magento, он / она перенаправляется на страницу своего аккаунта.

Я бы хотел перенаправить клиента обратно на продукт / страницу, которую он посещал ранее.

Как я могу сделать это в Magento? Я думаю, что наблюдатель должен быть лучшим способом, но я понятия не имею, с чего начать.

Спасибо!

Ответы [ 5 ]

5 голосов
/ 30 мая 2015
<a href="<?php echo Mage::getUrl('customer/account/login', array('referer' => Mage::helper('core')->urlEncode($this->helper('core/url')->getCurrentUrl())))?>" >Log In</a>

Если вышедший из системы клиент находится на какой-либо странице вашего сайта, после того, как он щелкнет этот якорный тег, он перейдет на страницу входа, после успешного входа он будет перенаправлен на страницу, на которой он находился, когда нажал на якорный тег.

Это альтернатива / эмулятор ссылки Login в оригинальной логике Magento «Top links».

4 голосов
/ 12 апреля 2014

на странице товара добавить код

<?php Mage::getSingleton('customer/session')->setBeforeAuthUrl($this->helper('core/url')->getCurrentUrl()); ?>
1 голос
/ 18 апреля 2013

Я поместил имя входа magento во всплывающее окно лайтбокса, поэтому этот код на странице перед набором является реферальным URL. Надеюсь, это поможет.

<?php
   $current_url = $this->helper('core/url')->getCurrentUrl();
   $current_session = Mage::getSingleton('customer/session');
   if(isset($current_session)) $current_session->setData("before_auth_url", $current_url);
?> 

Вы также можете поместить это в голову, чтобы она установила before_auth_url на каждой странице. Но убедитесь, что вы заключили это в условное выражение, чтобы оно не устанавливало before_auth_url на самой пае входа в систему. Ниже приведен код, который я использовал для этого.

<?php
if (! Mage::helper('customer')->isLoggedIn()) {
    $current_url = $this->helper('core/url')->getCurrentUrl();
    if((strpos($current_url, 'login') > -1) || (strpos($current_url, 'sign-in') > -1) || (strpos($current_url, 'checkout') > -1) ) {

    } else {
        $current_session = Mage::getSingleton('customer/session');
        if(isset($current_session)) $current_session->setData("before_auth_url", $current_url);
    }
}
?>
0 голосов
/ 08 декабря 2012

Расширение Персонализированный логин Redirect Pro может помочь вам. Вы можете перенаправить к рефереру с помощью шорткода {{referer}}.

0 голосов
/ 03 апреля 2012

Не очень хороший способ, но он работает.

это может вам помочь

$ redirectUrl = $ _SERVER ['HTTP_REFERER']; echo 'document.location.href = "'. $ redirectUrl. '";';

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...