व्यवस्थापक लॉगिन के बाद पिछले URL पर पुनर्निर्देशित करें


9

मैं चाहता हूँ व्यवस्थापक उन यूआरएल वे प्रवेश के बाद खोला पर पुनः निर्देशित किया है। उन्हें व्यवस्थापक क्षेत्र में एक कस्टम मॉड्यूल पृष्ठ की लिंक मिलनी चाहिए , जैसे

https: //magento.example/index.php/admin/admin_mycoolmodule/adminhtml_viewawesome/view/showpage/awesome/howmuch/9001/

जाहिर है, जब तक वे पहले से लॉग इन नहीं होते हैं, उन्हें लॉगिन पृष्ठ पर पुनर्निर्देशित किया जाएगा।

लॉगिन के बाद मैं उन्हें इस पृष्ठ पर वापस कैसे भेज सकता हूं?

URL में गुप्त कुंजियाँ अक्षम हैं और इस तरह से रह सकती हैं।

अब उन्हें इसके बजाय कॉन्फ़िगर किया गया डिफ़ॉल्ट पृष्ठ (डिफ़ॉल्ट डैशबोर्ड था) मिलता है।


ठीक है, आधारभूत रूप से आप व्यवस्थापक को डैशबोर्ड के बजाय अपने कस्टम पृष्ठ पर पुनर्निर्देशित करना चाहते हैं, लॉगिन के बाद, सही?
amit_game 15

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

मुझे नहीं लगता कि आप इसे बॉक्स से बाहर कर सकते हैं। आपको
ब्रेंटवेटर्स

1
क्या यह Magento में डिफ़ॉल्ट व्यवहार नहीं है? यदि आप किसी व्यवस्थापक पृष्ठ पर जाने का प्रयास करते हैं, तो आप लॉगिन पृष्ठ पर पुनर्निर्देशित हो जाते हैं और एक सफल लॉगिन के बाद आप उस पृष्ठ पर वापस जाते हैं डैशबोर्ड नहीं।
जेवियर विलानुएवा

1
यह दृश्यपटल के लिए डिफ़ॉल्ट व्यवहार है। बैकएंड के लिए यह आपको डैशबोर्ड पर ले जाता है। शायद आप इसे दोहरा सकते हैं। पूरा क्रियान्वयन कोड / कोर / मैज / ग्राहक / नियंत्रकों / खाता नियंत्रक / एफपीपी में किया जाता है। GetBeforeAuthUrl और setBeforeAuthUrl के लिए देखें। वैसे भी, यह 5 मिनट का काम नहीं है।
सैमुअल कोमन

जवाबों:


1

जैसा कि सभी टिप्पणियों से पहले कहा गया है, यह बॉक्स से बाहर नहीं है। यहां कुछ संकेत दिए गए हैं, जहां आपको समायोजित करने की आवश्यकता हो सकती है:

Mage_Admin_Model_User

public function getStartupPageUrl()
    {
        $startupPage = Mage::getStoreConfig(self::XML_PATH_STARTUP_PAGE);
        $aclResource = 'admin/' . $startupPage;
        if (Mage::getSingleton('admin/session')->isAllowed($aclResource)) {
            $nodePath = 'menu/' . join('/children/', explode('/', $startupPage)) . '/action';
            $url = (string)Mage::getSingleton('admin/config')->getAdminhtmlConfig()->getNode($nodePath);
            if ($url) {
                return $url;
            }
        }
        return $this->findFirstAvailableMenu();
    }

मैंने कभी इसकी कोशिश नहीं की, लेकिन यह इस विधि से कहा जाता है

Mage_Adminhtml_IndexController

और इंडेक्सएशन है जो उपरोक्त फ़ंक्शन को कॉल करता है। चूंकि यह व्यवस्थापक है, इसलिए मॉडल को फिर से लिखना आसान होगा।

/**
 * Admin area entry point
 * Always redirects to the startup page url
 */
public function indexAction()
{
    $session = Mage::getSingleton('admin/session');
    $url = $session->getUser()->getStartupPageUrl();
    if ($session->isFirstPageAfterLogin()) {
        // retain the "first page after login" value in session (before redirect)
        $session->setIsFirstPageAfterLogin(true);
    }
    $this->_redirect($url);
}

इसलिए, अपने URL को प्राप्त करने के लिए getStartupPageUrl () को संशोधित करने से यह कोशिश करने की सबसे अच्छी जगह लगती है।

यह सब सैद्धांतिक है, मैंने अभी तक इसकी कोशिश नहीं की है, लेकिन अगर आपको नमूना मॉड्यूल की आवश्यकता है, तो मैं निश्चित रूप से इसके माध्यम से चला सकता हूं और इसे प्रदान कर सकता हूं।

यदि प्रत्येक व्यवस्थापक उपयोगकर्ता एक ही पृष्ठ पर समाप्त हो जाएगा, तो ऐसा करना बहुत आसान है, अगर कुछ गतिशील तत्व हैं, तो यह सुविधा के लिए थोड़ा कठिन होगा। शुभ लाभ!

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