लॉगिन के बाद यूजर को रीडायरेक्ट करें


9

मैं लॉगिन के बाद "मेरा खाता" पृष्ठ के बजाय "होम" पृष्ठ पर उपयोगकर्ता को पुनर्निर्देशित करना चाहता था, और मैं इस उपयोग का उपयोग करने में सफल रहा

<customer_login>

प्रतिस्पर्धा।

लेकिन मुझे होम पेज पर भी रीडायरेक्ट किया गया था जबकि मैं onepage चेकआउट से लॉगिन करता हूं जो मुझे नहीं चाहिए।

नीचे मेरा पर्यवेक्षक कार्य है

public function setRedirectOnLogin(){
    $session = Mage::getSingleton('customer/session');
    if (strpos($session->getBeforeAuthUrl(), 'checkout') === false)
        $session->setAfterAuthUrl(Mage::getBaseUrl());
    $session->setBeforeAuthUrl('');

}

क्या कोई भी कृपया मार्गदर्शन कर सकता है कि मैं onepage चेकआउट से लॉगिन करने के बाद उपयोगकर्ता को इसे मुखपृष्ठ पर पुनर्निर्देशित करने से कैसे रोक सकता हूं?

धन्यवाद।

जवाबों:


11

आप लोगों को धन्यवाद।

नीचे पर्यवेक्षक फ़ंक्शन है जो मेरे लिए काम करता है

 public function setRedirectOnLogin(){
        $session = Mage::getSingleton('customer/session');
        if (strpos(Mage::helper('core/http')->getHttpReferer(), 'checkout') === false)
            $session->setAfterAuthUrl(Mage::getBaseUrl());  
        else             
            $session->setAfterAuthUrl(Mage::helper('core/http')->getHttpReferer());

        $session->setBeforeAuthUrl('');
    }

यह कहां है ?
प्रतीकात्मक

क्या मुझे इसे सीएसएस में जगह देनी चाहिए? किस फाइल का मतलब?
प्रतीक

7

आपको पहले अपना ग्राहक कॉन्फ़िगरेशन बदलना चाहिए:

यहां छवि विवरण दर्ज करें

फिर referrerफॉर्म पर एक परम का उपयोग करें । उदाहरण के लिए

<form action="<?php
    echo $this->getUrl(
        'customer/account/loginPost',
        array(
            'referer' =>
            // Encode the base url, or whatever URL we want to go to
            Mage::helper('core')->urlEncode(Mage::getBaseUrl())
        )
    ) ?>" method="post">


3

बस यहाँ सभी टिप्पणियों को संक्षेप में प्रस्तुत करने के लिए:

एक config.xml ले लो और इस तरह frontend क्षेत्र में customer_login के लिए एक घटना रजिस्टर

<frontend>
    <events>
        <customer_login>
            <observers>
                <your_module>
                    <class>your_module/observer</class>
                    <method>customerLogin</method>
                </your_module>
            </observers>
        </customer_login>
    </events>
</frontend>

उसके बाद आपको ग्राहक सत्र के "बाद में" यूआरएल को बदलने के लिए उस पर्यवेक्षक विधि को लागू करना होगा। इस चर का उपयोग ग्राहक के अकाउंटकंट्रोलर में यह देखने के लिए किया जाएगा कि लॉगिन के बाद कहां रीडायरेक्ट करना है।

public function customerLogin($observer)
{
    $session = Mage::getSingleton('customer/session');
    if (strpos(Mage::helper('core/http')->getHttpReferer(), 'checkout') === false) {
        $session->setAfterAuthUrl(Mage::getBaseUrl());
    } else {
        $session->setAfterAuthUrl(Mage::helper('core/http')->getHttpReferer());
    }

    $session->setBeforeAuthUrl('');
}

2

आप Mage::helper('core/http')->getHttpReferer()उस स्थिति में उपयोग कर सकते हैं जो आपको पहले से ही देखना है कि क्या संदर्भकर्ता आपका चेकआउट पृष्ठ है और इसके परिणामस्वरूप कार्य करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.