jd440 Posted May 1, 2013 Share Posted May 1, 2013 (edited) Bonjour à tous, Sur ma multi-boutique j'ai remarqué que les liens envoyés par mail au client depuis le BO, pointent vers le domaine sur lequel je suis connecté en BO, et non le domaine concerné en FO. Exemple: multi boutique www.example1.tld www.example2.tld Un client commande sur: www.example2.tld Je me connect sur le BO www.example1.tld/admin/ Lorsque je vais envoyer le mail de livraison au client il receverra le mails avec le liens :.. votre facture dans "Historique des commandes" de la rubrique avec "Historique des commandes" qui pointe vers http://www.example1....troller=history Hors le client a commandé sur www.example2.tld Et pire. Le logo est celui de www.example2.tld mais pointe vers www.example1.tld Donc: Est ce un probleme de configuration de ma multiboutique? Existe t il un correctif? Somme nous obligé de toujours nous connecter au BO la boutique correspondante? Edited May 3, 2013 by jd440 (see edit history) Link to comment Share on other sites More sharing options...
Ninja Of Web Posted May 1, 2013 Share Posted May 1, 2013 Bonjour, Il s'agit en effet d'un défaut de conception :/ il falloir faire très certainement une surcharge de la classe Mail pour contrer ce problème... Cordialement, Loic. Link to comment Share on other sites More sharing options...
Ninja Of Web Posted May 1, 2013 Share Posted May 1, 2013 (edited) Un peu plus d'information, tous ce passe dans le fichier suivant : classes/Mail.php ligne 239 à 257 de la méthode Mail::send() if (Configuration::get('PS_LOGO_MAIL') !== false && file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL', null, null, $id_shop))) $logo = _PS_IMG_DIR_.Configuration::get('PS_LOGO_MAIL', null, null, $id_shop); else { if (file_exists(_PS_IMG_DIR_.Configuration::get('PS_LOGO', null, null, $id_shop))) $logo = _PS_IMG_DIR_.Configuration::get('PS_LOGO', null, null, $id_shop); else $template_vars['{shop_logo}'] = ''; } /* don't attach the logo as */ if (isset($logo)) $template_vars['{shop_logo}'] = $message->attach(new Swift_Message_EmbeddedFile(new Swift_File($logo), null, ImageManager::getMimeTypeByExtension($logo))); $template_vars['{shop_name}'] = Tools::safeOutput(Configuration::get('PS_SHOP_NAME', null, null, $id_shop)); $template_vars['{shop_url}'] = Tools::getShopDomain(true, true).__PS_BASE_URI__.'index.php'; $template_vars['{my_account_url}'] = Context::getContext()->link->getPageLink('my-account', true, Context::getContext()->language->id); $template_vars['{guest_tracking_url}'] = Context::getContext()->link->getPageLink('guest-tracking', true, Context::getContext()->language->id); $template_vars['{history_url}'] = Context::getContext()->link->getPageLink('history', true, Context::getContext()->language->id); En 1.5.4.0 pour cette portion de code. Edited May 1, 2013 by Ninja Of Web (see edit history) Link to comment Share on other sites More sharing options...
jd440 Posted May 3, 2013 Author Share Posted May 3, 2013 Je te remercie. C'est ce qui explique que la couleur et le logo soit bon mais pas les URL. Puisque les couleurs et logo sont définit en fonction de l'$id_shop: $template_vars['{shop_name}'] = Tools::safeOutput(Configuration::get('PS_SHOP_NAME', null, null, $id_shop)); [...] $template_vars['{color}'] = Tools::safeOutput(Configuration::get('PS_MAIL_COLOR', null, null, $id_shop)); Alors que les url sont définit en fonction du context: $template_vars['{shop_url}'] = Tools::getShopDomain(true, true).__PS_BASE_URI__.'index.php'; $template_vars['{my_account_url}'] = Context::getContext()->link->getPageLink('my-account', true, Context::getContext()->language->id); $template_vars['{guest_tracking_url}'] = Context::getContext()->link->getPageLink('guest-tracking', true, Context::getContext()->language->id); $template_vars['{history_url}'] = Context::getContext()->link->getPageLink('history', true, Context::getContext()->language->id); Du coup il faudrait faire la même choses mais en définissant le context ou plus précisément le shop. J'ai essayé de placer avant: Shop::setContext($id_shop) mais ca bug. Et je vous pas comment par exemple récupérer : $template_vars['{my_account_url}'] = Context::getContext()->link->getPageLink('my-account', true, Context::getContext()->language->id); non pas dans le context actuelle, mais en définissant la boutique. Link to comment Share on other sites More sharing options...
Ninja Of Web Posted May 3, 2013 Share Posted May 3, 2013 Bonjour, Ce petit bug viens d'être corrigé par la team sur le Hub hier pour info Pour les correctifs, voir ici : https://github.com/PrestaShop/PrestaShop/commit/4d4eb9df196b53c8acceeba29203445a6a0b1e18 https://github.com/PrestaShop/PrestaShop/commit/32a11677e7dc5cd0497a1c56fa2240f3f389a2b7 Bonne journée et Merci a Rémi G. de la Team pour ce fix ! Loïc. Link to comment Share on other sites More sharing options...
jd440 Posted May 3, 2013 Author Share Posted May 3, 2013 (edited) Merci beaucoup. Tout Semble Ok! Edited May 3, 2013 by jd440 (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now