Passage en caisse après validation du paiement sous Joomla 4

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
2 years 3 months ago #338110

-- url of the page with the problem -- : www.poincons-matrices.fr/la-boutique.html
-- HikaShop version -- : 4.4.5
-- Joomla version -- : 3.10.4
-- PHP version -- : 7.24
-- Browser(s) name and version -- : Safari 15.1

Bonjour,
Actuellement, je suis en train de faire une MAJ Joomla 4.0.5 de notre site web sur un serveur Offline Mamp, version PHP 7.4.12. J’utilise la Framework Helix Ultimate version gratuite 2.0.5.
La partie Boutique conçue avec HikaShop Business 4.4.4 fonctionne très bien, sauf que je rencontre
un problème que je n'arrive pas à résoudre. Lors de la finalisation du passage en caisse après validation du paiement par chèque ou par virement j’ai un message d’erreur "Call to undefined method Joomla\CMS\Application\SiteApplication::isAdmin()" à l'URL http://localhost:8888/REMO-Joomla-4/index.php/la-boutique/fraises-a-chanfreiner/checkout/confirm.html, voir les captures d’écran en pièce jointe.
Etape-4-paiement-Joomla-4.jpg et Etape-5-Erreur-Joomla-4.jpg.

A savoir que j’ai effectué la migration sous Joomla 4 à partir de notre site web qui est en ligne, dont voici l’URL www.poincons-matrices.fr/la-boutique.html . Ce site web est sous Joomla 3.10.4, version PHP 7.24 avec HikaShop Business 4.4.5 et là toute la procédure du passage en caisse, avec paiement par chèque, virement ou carte bancaire fonctionne parfaitement. Je l’ai même testé sous Mamp et là tout fonctionne correctement voir la capture d’écran en pièce jointe. Etape-5-Joomla-3-10-4.jpg

Bref, j’ai la même configuration et la même version pour Hikasphop, malheureusement le paiement Bug sous Joomla 4.
Et là que faire ??

Dans l’attente de votre avis et votre aide.

Merci,
Alain

Attachments:
Last edit: 2 years 3 months ago by REMO.

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

  • Posts: 81509
  • Thank you received: 13064
  • MODERATOR
2 years 3 months ago #338112

Bonjour,

isAdmin est une fonction qui n'existe plus sous Joomla 4 mais qui était très utilisée avant.
Les développeurs de Joomla l'ont remplacé par isClient('administrator')
Et vous pouvez voir sur la page de l'erreur que le souci est dans le fichier media/com_hikashop/mail/order_creation_notification.preload.modified.php
Ce fichier correspond à un override de la section "preload" de l'email "order creation notification" (notification de création de commande) fait via le menu Système>Emails.
Donc j'imagine que c'est un override basé sur une ancienne version d'HikaShop, et du code vous avez du vieux code avec isAdmin au lieu de isClient dedans.

Deux solutions s'offrent à vous:
- Vous supprimez le fichier pour retourner sur la version de base du preload de l'email. Vous perdrez vos personnalisations dans le preload mais vous n'aurez plus l'erreur. Vous pouvez ensuite réappliquer vos modifications en faisant un nouvel override.
- Vous modifiez directement l'override pour remplacer ->isAdmin() par ->isClient('administrator') dans le code. Cela corrigera l'erreur. Après, il est possible qu'il y ait d'autres erreurs en lien avec Joomla 4 dans l'override...

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

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
2 years 3 months ago #338120

Nicolas merci pour votre réponse.

J'ai supprimé les personnalisations pour Notification de création de commande, mais j'avais encore un message d'erreur que j'ai résolu en supprimant aussi les personnalisation pour Notification de commande à l'administrateur.

Par la suite je verrai si je dois effectuer de nouvelles personnalisations.

Merci encore et j'en profite pour vous souhaiter un bon Noël.

Alain

The following user(s) said Thank You: nicolas

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

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
2 years 3 months ago #338699

Bonjour,

Suite à la suppression des personnalisations pour les Notifications de création de commande adressé aux clients, j’aimerai remplacer Bonjour « Nom » par Bonjour « Prénom »
J’avais remplacé sur la partie « Préchargement » de l'email 'HI_CUSTOMER' => JText::sprintf('HI_CUSTOMER', $customer_name), par ce script 'HI_CUSTOMER' => JText::sprintf('HI_CUSTOMER', @$data->cart->billing_address->address_firstname).
Est-ce que ce script est toujours valable avec les évolutions du langage Php ?
Dans l’attente de votre aide.

Merci,
Alain


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

  • Posts: 81509
  • Thank you received: 13064
  • MODERATOR
2 years 3 months ago #338703

Oui, pas de soucis. C'est pareil pour PHP8.

The following user(s) said Thank You: REMO

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

  • Posts: 124
  • Thank you received: 3
  • Hikashop Business
2 years 3 months ago #338711

Merci

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

Time to create page: 0.076 seconds
Powered by Kunena Forum