Plugin attachserial : Pas de prise en charge des langues ?

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #276965

Bonjour,

Est-ce moi ou est-ce un bug ? Les langues de substitutions ne sont pas prises en compte dans le Plugin attachserial...
Invariablement, quelque soit la langue choisie, la confirmation de commande est traduite correctement, mais pas la carte-cadeau en pièce jointe, qui reste en français !



Et pourtant les champs sont traduits dans les 3 langues du site...






Merci d'avance,

Cordialement,

JC Figuet

Attachments:
Last edit: 7 years 2 months ago by jcfiguet.

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277030

Bonjour,

C'est malheureusement un effet de bord de l'organisation utilisée dans HikaShop pour les emails.
La class Order d'HikaShop possède une fonction (loadOrderNotification) qui permet de charger un email et cette fonction va s'occuper de modifier dynamiquement la langue de Joomla en fonction de la langue de l'utilisateur final.
Mais cette fonction ne s'occupe que du chargement de l'email et non de l'envoie.
De ce fait, le plugin "attach serial" n'est pas appelé entre le moment ou la langue est changée et le moment ou la langue est ré-initialisée.
Je ne vois malheureusement pas comment je pourrais changer le point d'entrée utilisé par HikaSerial et le plugin "attach serial" puisqu'il est nécessaire pour "attach serial" d'avoir un "JMailer" afin d'ajouter une pièce jointe à l'email. Sachant que la fonction dans HikaShop ne fait que le chargement d'un message et qu'il n'y a aucun JMailer.
Je ne souhaite pas non plus générer à l'avance l'image et la garder en mémoire afin de l'ajouter en pièce jointe plus tard ; cela augmenterais trop les risque de "memory limit" sur les serveurs.
Par contre, je pourrais voir pour ajouter un patch qui irais utiliser les fonctions de chargement des fichiers de langue et ainsi faire le même travail que fait HikaShop lorsqu'il fait les préparatifs de l'email.

Dans le fichier principal du plugin attach serial ( attachserial.php ) remplacer la ligne

$fullOrder = $orderClass->loadFullOrder($order->order_id, true, false);
Par
$fullOrder = $orderClass->loadFullOrder($order->order_id, true, false);
$locale = $orderClass->loadLocale($order);
Et à la fin de la fonction vous trouverez
						$mailer->addAttachment($tmpFilename, $filename);
					}
				}
			}
		}
	}
Qu'il faudra remplacer par
						$mailer->addAttachment($tmpFilename, $filename);
					}
				}
			}
		}

		$orderClass->loadBackLocale();
	}
Cela devrait forcer la langue utilisée par l'utilisateur peut importe le context où l'email est envoyé.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277081

Bonjour,

Merci ! Je vais tester et je vous tiens au courant,

Cordialement,

JC Figuet

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277126

Bonjour,

J'ai effectué les modifs, mais ça ne fonctionne pas : il y a plantage au moment de régler la facture...



Cordialement,

JC Figuet

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277127

Bonjour,

Merci de restaurer votre fichier (vous pouvez ré-installer HikaSerial 2.0.0 pour cela).
Votre log d'erreur PHP devrait vous indiquer quel est l'erreur liée à cette page.
De mon côté, je vais planifier des tests afin de regarder ce qu'il se passe.

Cordialement


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277179

Bonjour,

C'est de pire en pire !

J'ai ré-installé HikaSerial 2.0.0 à partir d'un nouveau download...
- 1°) le code téléchargé a été modifié par rapport à ma version précédente 2.00
- 2°) j'ai reporté les modifs que vous m'avez indiqué
- 3°) j'ai testé...

Coté code on a maintenant (avec les modifs) :

		}
		$orderClass = hikaserial::get('shop.class.order');
		$fullOrder = $orderClass->loadFullOrder($order->order_id, true, false);
//--
                $locale = $orderClass->loadLocale($order);
//--
		$app = JFactory::getApplication();
et
					} else {
						$tmpFilename = HIKASERIAL_MEDIA.'images'.DS.'safe'.DS.'tmp_attachserial_'.$plugin->plugin_id.'_'.$k.'.'.$extension;
						$writeRet = JFile::write($tmpFilename, $ret);
						$mailer->addAttachment($tmpFilename, $filename);
					}
				}
			}
		}
//--
		$orderClass->loadBackLocale();
//--
		if($app->isAdmin())
			$orderClass->loadBackLocale();
	}

En résultats on a :

1°) Plus de plantage ! Glop !
2°) Le mail de confirmation de commande reste invariablement en français, quelque soit la langue choisie ! Pas Glop...
3°) La carte cadeau attachée reste aussi en français ! Pas glop !

En résumé ça ne fonctionne pas vraiment mieux et il y a maintenant une régression (Le mail de confirmation de commande qui reste en français)

Cordialement,

JC Figuet

Last edit: 7 years 2 months ago by Jerome. Reason: [code] is nice

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277180

Bonjour,

C'est étrange puisque le mail est géré par HikaShop et que le code dans HikaSerial ne peux pas influencer cela.
Donc, si l'email est en Français et que la carte cadeau est en Français, cela me semble (malheureusement) logique.

Est-ce que la commande est bien créée dans une autre langue ?
Depuis HikaShop 3, il y a une nouvelle colonne dans la table "order" d'HikaShop qui permet de sauvegarder la langue de l'utilisateur au moment de la commande et ainsi permettre au système de faire la bascule de langue lorsqu'une commande est modifiée dans le backend.

Vous pouvez regarder dans PHPMyAdmin afin de vérifier la langue qui a été sauvegardée pour la commande en question.
Mais je crains que si l'email et la carte cadeau soient en Français, la langue "fr" ai été sauvegardée. Le cas échéant, il y aurait un rapport de bug à faire pour HikaShop.

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277187

Bonjour,

Oui, j'ai testé avec commande passée en anglais, en allemand et en français !
Dans tous les cas, l'email de création de commande est dans la bonne langue, mais celui de la confirmation est à présent passé en français ce qui n'était pas le cas avant...

Vous me parlez de "langue utilisateur", je suppose "langue par défaut de l'utilisateur" , mais moi je parle de langue "switchée" avant le passage de commande !

En switchant dans n'importe quelle langue, en principe tout doit être traduit dans la langue choisie, même si la langue par défaut du user est le français... Ce mode de fonctionnement me semble d'ailleurs cohérent et logique.

Pour répondre a votre question : utilisateur "abc" enregistré en allemand et passant sa commande en allemand :
extrait table Order dur My Sql :









Cordialement

JC Figuet

Attachments:
Last edit: 7 years 2 months ago by jcfiguet.

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277214

Bonjour,

En effet, vos données en base sont correcte.
Cela me semble être un soucis dans HikaShop.

Comment confirmez-vous la commande exactement ?
Je souhaite connaitre le "contexte" dans lequel l'email est envoyé par HikaShop (et donc par HikaSerial).

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277226

Bonjour,

L'email de confirmation peut être envoyé de 2 façons :
1°) suite à un paiement immédiat via Paypal, dans ce cas c'est automatique (via le retour de confirmation Paypal)
2°) en cas de paiement par virement, c'est moi qui passe la commande à "confirmé"

Cordialement,

JC Figuet

Please Log in or Create an account to join the conversation.

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
7 years 2 months ago #277230

Bonjour,

De ce que je vois, le problème n'est pas dans HikaSerial mais dans HikaShop. Car déjà le contenu de l'email n'est pas dans la bonne langue, sans même parler de l'image rajoutée par HikaSerial.

Essayez voir d'ajouter le code:

		if(empty($locale) && !empty($order->old->order_lang))
			$locale = $order->old->order_lang;
après le code:
		if(!empty($order->order_lang))
			$locale = $order->order_lang;
dans le fichier administrator/components/com_hikashop/classes/order.php
Cela devrait aider et pour le contenu de l'email et pour l'image d'HikaSerial.

The following user(s) said Thank You: jcfiguet

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277268

Hello,

C'est super !

Bon... A moitié...

Car à présent l'image de la carte cadeau est entièrement traduite dans la bonne langue, ce qui est vraiment bien, mais malheureusement pas le mail de confirmation de commande qui reste toujours en français.

Concernant le mail de confirmation de commande, je pense qu'il n'est plus traduit depuis que j'ai ré-installé HikaSerial 2.0.0 à partir d'un nouveau download il y a quelques jours... J'avais constaté alors que le code avait été modifié par rapport à ma version précédente 2.00 datant d'il y a un mois ou deux... Ceci expliquerait il cela ? Je pense que c'est une piste à vérifier.

Cordialement,

JC Figuet

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277295

Bonjour,

HikaSerial ne peux pas affecter la langue des emails d'HikaShop.

Maintenant, en fonction de comment l'email est envoyé (le contexte que je vous demandais et dont nous n'avons malheureusement pas eu de réponse précise) le code dans HikaShop va réagir differement.
La langue est changée uniquement dans le backend car, dans le front-end, soit c'est l'utilisateur (qui est déjà dans sa langue) soit c'est via une notification de paiement (qui doit avoir le paramètre "lang" correctement rempli).

Puisque vous avez ajouté un patch supplémentaire à HikaSerial (cf votre message #277179 ), le changement dans HikaSerial est fait en permanence et non pas que dans le contexte du backend (car on voit le patch que j'ai ajouté dans les packages avec le "isAdmin")

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

  • Posts: 35
  • Thank you received: 3
7 years 2 months ago #277334

Bonjour,

Désolé pour les imprécisions sur le "comment" l'email de confirmation était envoyé, précédemment j'ai dit :

L'email de confirmation peut être envoyé de 2 façons :
1°) suite à un paiement immédiat via Paypal, dans ce cas c'est automatique (via le retour de confirmation Paypal)
2°) en cas de paiement par virement, c'est moi qui passe la commande à "confirmé"

J'ai aussi dit que la commande était passée en langue étrangère (Allemand ou Anglais)

Que souhaitez-vous savoir de plus ? Merci de préciser. J'avoue ne pas comprendre le niveau de détail que vous souhaitez.

Je signale en outre que lorsque c'est moi qui "force" une commande à "Confirmé", je le fait via le back end en français.
Mais comparativement à une confirmation automatique via Paypal, ça ne change rien : Le mail de confirmation reste en français dans les 2 cas.

Cordialement,

JC Figuet

Last edit: 7 years 2 months ago by jcfiguet.

Please Log in or Create an account to join the conversation.

  • Posts: 26158
  • Thank you received: 4028
  • MODERATOR
7 years 2 months ago #277337

Bonjour,

Le mail de confirmation reste en français dans les 2 cas.

C'est cette information qui était nécessaire.

Merci d'ouvrir un nouveau thread dans la partie d'HikaShop afin de continuer sur votre soucis qui est actuellement relatif à HikaShop et non à HikaSerial.
Vous pouvez d'ailleurs vous en assurer en simplement désactivant le plugin "hikashop / serials" (qui désactivera l'intégration d'HikaSerial avec HikaShop)

Cordialement,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

Please Log in or Create an account to join the conversation.

Moderators: Obsidev
Time to create page: 0.100 seconds
Powered by Kunena Forum