كيفية ربط الإجراء بعد نجاح تسجيل دخول العميل باستخدام Magento؟
-
12-12-2019 - |
سؤال
أنا أستخدم ماجنتو 1.4.1.1.بعد نجاح تسجيل الخروج، يتم توجيه العميل إلى "logout.phtml" أولاً ثم إلى "الصفحة الرئيسية" لاحقًا.
هل هناك أي طريقة يمكنني من خلالها تشغيل Magento لأكواد "php" بعد نجاح "تسجيل الدخول"؟
من فضلك لا تتردد في تقديم نماذج التعليمات البرمجية لأنني جديد في Magento.
/var/www/app/etc/modules/Lpf_ModuleCookie.xml
<?xml version="1.0"?>
<config>
<modules>
<Lpf_ModuleCookie>
<active>true</active>
<codePool>local</codePool>
</Lpf_ModuleCookie>
</modules>
</config>
/var/www/app/code/local/Lpf/ModuleCookie/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Lpf_ModuleCookie>
<version>0.1</version>
</Lpf_ModuleCookie>
</modules>
<events>
<customer_login>
<observers>
<customer_login>
<type>model</type>
<class>ModuleCookie/observer</class>
<method>customerLogin</method>
</customer_login>
</observers>
</customer_login>
</events>
</config>
/var/www/app/code/local/Lpf/Observer.php
<?php
class Lpf_ModuleCookie_Model_Observer
{
/**
* Run couple of 'php' codes after customer logs in
*
* @param Varien_Event_Observer $observer
*/
public function customerLogin($observer)
{
Mage::log(__METHOD__ . '() Hello!'); // Remove afterwards. Check your var/log/system.log to see if came to this point
$customer = $observer->getCustomer();
// "run couple of 'php' codes"
}
}
?>
المحلول
على ال Mage_Customer_Model_Session
طريقة النموذج setCustomerAsLoggedIn()
حدث customer_login
يتم إرسالها.أعتقد أنك بحاجة إلى الانضمام إلى هذا الحدث.يمكنك القيام بذلك على النحو التالي.
أضف الحدث إلى الوحدة النمطية الخاصة بك config.xml
الملف (app/code/local/Lpf/ModuleCookie/etc/config.xml):
<?xml version="1.0"?>
<config>
<modules>
<Lpf_ModuleCookie>
<version>0.1</version>
</Lpf_ModuleCookie>
</modules>
<global>
<models>
<lpf_modulecookie>
<class>Lpf_ModuleCookie_Model</class>
</lpf_modulecookie>
</models>
</global>
<frontend>
<events>
<customer_login>
<observers>
<lpf_modulecookie_customer_login>
<type>model</type>
<class>lpf_modulecookie/observer</class>
<method>customerLogin</method>
</lpf_modulecookie_customer_login>
</observers>
</customer_login>
</events>
</frontend>
</config>
الآن قم بإنشاء نموذج Lpf_ModuleCookie_Model_Observer
(app/code/local/Lpf/ModuleCookie/Model/Observer.php).أضف customerLogin()
طريقة للفئة:
class Lpf_ModuleCookie_Model_Observer
{
/**
* Run couple of 'php' codes after customer logs in
*
* @param Varien_Event_Observer $observer
*/
public function customerLogin($observer)
{
Mage::log(__METHOD__ . '() Hello!'); // Remove afterwards. Check your var/log/system.log to see if came to this point
$customer = $observer->getCustomer();
// "run couple of 'php' codes"
}
}