Après avoir lu quelques messages, j'essaye d'implémenter un observateur pour déclencher un événement avant la connexion de l'utilisateur. Je vais vous expliquer: j'ai un forum et un blog, en utilisant un autre framework, et je veux que le visiteur se connecte une seule fois: blog, forum ou eshop. Après cela, il sera connecté pour d'autres domaines. Par exemple, je navigue sur le forum et je me connecte au forum. Puis, quand j'ouvre la boutique, je suis déjà connecté. Et même chose pour le contraire.Magento: Événement de feu avant le processus de connexion
Cela fonctionne, mais juste un problème: quand je me suis connecté au forum/blog et si j'ouvre la boutique, j'ai besoin d'actualiser la page pour voir que je suis connecté.
En fait, c'est le même comportement que le processus standard de déconnexion Magento: si vous cliquez sur le lien "déconnexion" de votre boutique Magento, vous verrez toujours que vous êtes connecté. Il y a une redirection/actualisation vers la page d'accueil alors vous voyez le message que vous êtes déconnecté. Voici mon code:
app/code/communauté/Fanxiang/UC/etc/config.xml:
[...]
<events>
<http_response_send_before>
<observers>
<UC>
<type>model</type>
<class>Fanxiang_UC_Helper_Data</class>
<method>ucSynlog</method>
</UC>
</observers>
</http_response_send_before>
</events>
[...]
et: app/code/communauté/Fanxiang/UC/Aide/données. php
class Fanxiang_UC_Helper_Data extends Mage_Core_Helper_Abstract
{
public function ucSynlog($observer){
if(!empty($_COOKIE['Example_auth'])){
list($Example_uid, $Example_username) = explode("\t", uc_authcode($_COOKIE['Example_auth'], 'DECODE'));
list($Example_uid, $Example_username,$email) =uc_get_user($Example_username);
$customer = Mage::getModel('customer/customer')->setWebsiteId(Mage::app()->getStore()->getWebsiteId())->loadByEmail($email);
Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer);
} else {
Mage::getSingleton('customer/session')->logout();
}
Mage::log(time(), null, "logfile.log");
}
}
PB:. Je voudrais éviter de rafraîchir la page pour voir que je suis connecté Toute idée ou de l'aide est la bienvenue!
Yoong
GOOD! Ça marche. J'ai raté cet événement ... –
De rien. (Merci de donner une réponse à cette réponse ;-) – clockworkgeek