Jump to content

Edit History

c00lsp0t

c00lsp0t

Bonjour,

Je viens de test avec le module de paiement cllicandpay du groupe crédit du nord et je n'ai pas de soucis.

En regardant la ligne 801 (du fichier classes/Tools.php) entre la nouvelle versionne prestashop 1.7.6 et les ancienne version c'est du à la suppression de la librairie CLDR. Le display price en version 1.7.5 se retournait de cette manière

$cldr = self::getCldr($context);

return $cldr->getPrice($price, is_array($currency) ? $currency['iso_code'] : $currency->iso_code);

Alors qu'en 1.7.6 c'est de cette manière :

$locale = static::getContextLocale($context);
$currencyCode = is_array($currency) ? $currency['iso_code'] : $currency->iso_code;

return $locale->formatPrice($price, $currencyCode);

en clair il retourne un prix formater suivant la locale de la nouvelle fonction getContextLocale.

Pour un fix temporaire et dégueu il faudrait peut etre remplacer le $locale = static::getContextLocale($context);  par un $locale = $context->getCurrentLocale();
Mais ca ne pourrait peut etre marcher que sur les boutique mono langue vu que la locale serait celle de la boutique et qu'un site multilangue prendrait la currentlocale et pas la contextLocale et donc ca merderai pour ces site la.

 

Je vous avoue que je ne peut tester mes dire (vu que je n'ai pas ce soucis la) donc à prendre avec des pincettes mais peut etre que ca pourra vous avancer un peu

c00lsp0t

c00lsp0t

Bonjour,

Je viens de test avec le module de paiement cllicandpay du groupe crédit du nord et je n'ai pas de soucis.

En regardant la ligne 801 (du fichier classes/Tools.php) entre la nouvelle versionne prestashop 1.7.6 et les ancienne version c'est du à la suppression de la librairie CLDR. Le display price en version 1.7.5 se retournait de cette manière

$cldr = self::getCldr($context);

return $cldr->getPrice($price, is_array($currency) ? $currency['iso_code'] : $currency->iso_code);

Alors qu'en 1.7.6 c'est de cette manière :

$locale = static::getContextLocale($context);
$currencyCode = is_array($currency) ? $currency['iso_code'] : $currency->iso_code;

return $locale->formatPrice($price, $currencyCode);

en clair il retourne un prix formater suivant la locale de la nouvelle fonction getContextLocale.

Pour un fix temporaire et dégueu il faudrait peut etre remplacer le $locale = static::getContextLocale($context);  par un $locale = $context->getCurrentLocale();
Mais ca ne pourrait peut etre marcher que sur les boutique mono langue vu que la locale serait celle de la boutique et qu'un site multilangue prendrait la currentlocale et pas la contextLocale et donc ca merderai pour ces site la.

 

Je vous avoue que je ne peut tester mes dire (vu que je n'ai pas ce soucis la) mais peut etre que ca pourra vous avancer un peu

×
×
  • Create New...