كيف أقوم بإعادة توجيه عميل المستخدم إلى الصفحة التي كان فيها قبل تسجيل الدخول بنجاح؟
-
12-12-2019 - |
سؤال
أنا أستخدم ماجنتو 1.4.1.1
يمكن فقط للعميل الذي قام بتسجيل الدخول الوصول إلى صفحتين من موقع الويب الخاص بي.لذلك، عندما يحاول عميل لم يقوم بتسجيل الدخول الوصول إلى الصفحة التي تحتاج إلى تسجيل الدخول، تتم إعادة توجيهه إلى صفحة تسجيل الدخول.باستخدام الكود التالي.
if(!$this->helper('customer')->isLoggedIn())
{
Mage::app()->getFrontController()->getResponse()->setRedirect(Mage::getUrl('customer/account'));
}
بعد نجاح تسجيل الدخول، تتم إعادة توجيه العميل إلى لوحة حسابه (يتم فقدان موقع الصفحة السابقة).
هل هناك أي طريقة لجعل الماجنتو يعود إلى الصفحة التي كان فيها العميل بعد نجاح تسجيل الدخول؟
يعتبر
المحلول
يمكنك إضافة هذا إلى صفحة يجب على العميل تسجيل الدخول: Mage :: GetModel ("العميل / الجلسة") -> setbeforeauthurl ([رابط صفحتك])
نصائح أخرى
اذهب إلى النظام->التكوين->تكوين العميل->خيارات تسجيل الدخول وتعيين القيمة ل Redirect Customer to Account Dashboard after Logging in
ل No
.
يوجد (على الأقل) خياران للتحكم في هدف إعادة التوجيه بعد تسجيل دخول العميل:
- تعيين
after_auth_url
الملكية في جلسة العميل. - بالاشتراك مع ما سبق اقتراح من ماريوس, ، أضف
referer
معلمة الطلب لطلب تسجيل الدخول.
وتحاول وضعه في ملف وحدة التحكم "التطبيق / رمز / محلي / ماجيك / العميل / المراقبين / AccountController.php" في وظيفة "Loginpostaction" قبل "IF ($ هذا-> GetRequest () -> ISPOST()) {"