লগইন করার পরে ব্যবহারকারীকে পুনঃনির্দেশ করুন


9

আমি লগইন করার পরে "আমার অ্যাকাউন্ট" পৃষ্ঠাটির পরিবর্তে ব্যবহারকারীকে "হোম" পৃষ্ঠাতে পুনর্নির্দেশ করতে চেয়েছিলাম এবং আমি এই ব্যবহারটি অর্জন করতে সফল হয়েছিলাম

<customer_login>

ইভেন্ট।

আমি চাই না এমন অনেপেজ চেকআউট থেকে লগইন করার সময় আমাকে হোম পৃষ্ঠায়ও পাঠানো হয়েছিল।

নীচে আমার পর্যবেক্ষক ফাংশন

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

}

অনপেজ চেকআউট থেকে লগইন করার পরে আমি কীভাবে ব্যবহারকারীকে এটির হোমপেজে পুনঃনির্দেশ করা থেকে থামাতে পারি?

ধন্যবাদ.

উত্তর:


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

এখানে সমস্ত মন্তব্য সংক্ষিপ্তসার জন্য:

একটি কনফিগার.এক্সএমএল নিন এবং এর মতো সীমান্ত অঞ্চলে গ্রাহক_লগিনের জন্য একটি ইভেন্ট নিবন্ধ করুন

<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()আপনার রেফারার আপনার চেকআউট পৃষ্ঠা কিনা তা ইতিমধ্যে দেখতে হবে এমন অবস্থায় আপনি ব্যবহার করতে পারেন এবং ফলস্বরূপ কাজ করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.