Champ personnalisé ne s'affiche pas si restriction par mode de livraison

  • Posts: 468
  • Thank you received: 30
  • Hikashop Business
1 year 1 month ago #349532

-- HikaShop version -- : 4.7.1
-- Joomla version -- : 3.10.11
-- PHP version -- : 8.0.24
-- Browser(s) name and version -- : Chrome 110.0.5481.100

J'ai un champ de type "lien", pour la table "order", qui me permet de renseigner un lien de suivi du colis.

En préparant une mise à jour d'une boutique vers Hikashop 4.7.1, je constate que ce champ personnalisé ne s'affiche plus en frontend sur la page du détail des commandes, alors que cette option d'affichage a bien été sélectionnée.
En revanche, il s'affiche bien dans tous les emails sélectionnés et dans le backend lors de l'édition d'une commande.
Donc dans l'espace client, on n'a plus accès au lien de suivi du colis.

J'ai désactivé l'override, ouvert et réenregistré le champ, sans succès.

Et puis j'ai eu un éclair de lucidité et j'ai désactivé les restrictions basées sur les modes de livraison (tous ceux de type "Colissimo", par exemple). Et le champ est alors réapparu dans le détail des commandes.

Ça nous donne une piste…

Sans restriction de type mode de livraison : le champ "Suivi Colissimo" s'affiche



Avec au moins une restriction de type mode de livraison : le champ "Suivi Colissimo" ne s'affiche plus


Attachments:
Last edit: 1 year 1 month ago by lesyeux. Reason: Résolu

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

  • Posts: 4486
  • Thank you received: 609
  • MODERATOR
1 year 1 month ago #349533

Bonjour,

Nous ne sommes pas sur de vous suivre, avez vous solutionner votre probléme ?
Ou bien, le probléme persiste ?
Ce que vous décrivez, vu vos screenshot est pour nous un résultat logique, mais peut être que quelque chose nous échappe?
Pouvez vous bien détaille le probléme et en quoi cela vous apparait comme un résultat inattendu.

Désolé pour ce retour et en attente de vos retours.
Cordialement

Last edit: 1 year 1 month ago by Philip.

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

  • Posts: 468
  • Thank you received: 30
  • Hikashop Business
1 year 1 month ago #349550

Bonjour,

Non, problème pas résolu du tout.

Je souhaite afficher un lien de suivi d'expédition dans le backend (listing des commandes, édition des commandes), dans certains emails (changement de statut de commandes) et en frontend (détail des commandes, pour les clients).

J’ai deux services de livraison, Colissimo et Mondial Relay.

J’ai créé deux champs personnalisés, l’un pour les Colissimos et l’autre pour Mondial Relay. Pour chacun, le lien est présaisi et il suffit de venir coller le code de suivi. Chaque champ est restreint aux modes de livraisons qui le concernent, comme ça, on évite les erreurs.

Tout ça marche bien, sauf en un endroit.

Si un client choisit une livraison Colissimo, c’est le champ Colissimo qui apparaît dans sa commande. On peut éditer sa commande dans le backend et renseigner le lien de suivi. Ce lien sera bien présent dans les emails envoyés, et sera visible dans le listing des commandes du backend. Pour cette commande, dans le backend, les champs pour un lien Mondail Relay n'apparaissent jamais. Jusque là, tout est parfait.

Mais en frontend, côté client, dans le détail des commandes, le champ ne s’affiche pas. Tel que je comprends le système, il devrait s’afficher. Il s’affiche partout où je trouve ça logique et prévisible, sauf dans le détail des commandes du frontend.

Si j’enlève la restriction au mode de livraison Colissimo alors le champ s’affiche dans le frontend, évidemment, mais s’affiche aussi pour tous les autres modes de livraison. Ça enlève une bonne partie de l'intérêt du système de restriction par mode de livraison.

Pour résumer :
Il y a des liens de suivi des colis, via un champ personnalisé de type "order" nommé "Suivi Colissimo", mais ils ne s'affichent pas en frontend lorsque l'on utilise la restriction par mode de livraison ciblant les livraisons par Colissimo. Et il y a des liens de suivi des colis, via un champ personnalisé de type "order" nommé "Suivi Mondial Relay", mais ils ne s'affichent pas en frontend lorsque l'on utilise la restriction par mode de livraison ciblant les livraisons par Mondial Relay. En revanche, cela fonctionne dans le backend et pour les emails. Ça me donne l'impression qu'il manque du code côté frontend pour gérer correctement les restrictions par mode de livraison.

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

  • Posts: 81361
  • Thank you received: 13037
  • MODERATOR
1 year 1 month ago #349554

Bonjour,

Je pense que je vois quel est le problème.
Changez le code:

$null = null;
			$fields['entry'] = $fieldsClass->getFields('frontcomp',$null,'entry');
			$fields['item'] = $fieldsClass->getFields('frontcomp',$null,'item');

			if($type=='invoice')
				$fields['order'] = $fieldsClass->getFields('display:invoice=1',$null,'order');
			else
				$fields['order'] = $fieldsClass->getFields('display:front_order=1',$null,'order');
en:
$fields['entry'] = $fieldsClass->getFields('frontcomp',$order,'entry');
			$fields['item'] = $fieldsClass->getFields('frontcomp',$order,'item');

			if($type=='invoice')
				$fields['order'] = $fieldsClass->getFields('display:invoice=1',$order,'order');
			else
				$fields['order'] = $fieldsClass->getFields('display:front_order=1',$order,'order');
dans le fichier components/com_hikashop/views/order/view.html.php et cela devrait aider.

The following user(s) said Thank You: lesyeux

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

  • Posts: 468
  • Thank you received: 30
  • Hikashop Business
1 year 1 month ago #349570

Bonjour,

Je viens de tester et cela fonctionne, super.

Merci pour la solution

The following user(s) said Thank You: nicolas

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

Time to create page: 0.089 seconds
Powered by Kunena Forum