Lien de suivi visible dans le lsiting des commandes

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
3 days 4 hours ago #368863

Bonjour,

Quand les clients se connectent à leur compte, je les dirige vers leur espace client, où s'affiche en premier la liste de leurs commandes.

Pour chaque commande expédiée, je renseigne un lien de suivi via les champs personnalisés (de la table "order"). Sur la page du détail d'une commande, il s'affiche avec les infos additionnelles, sous le détail de la commande.

Je souhaiterais que les 2 champs additionnels de ce lien de suivi s'affichent directement dans le listing des commandes et soient bien visibles.

Il n'y pas longtemps, vous m'avez aidé à ajouter un bouton "Payer maintenant" pour toutes les commandes impayées du listing des commandes, et le résultat était parfait.

Pensez-vous qu'il soit aussi facile d'ajouter mon lien de suivi pour chaque commande expédiée visible dans le listing des commandes, juste sous le statut "Envoyée" ?

Merci d'avance pour votre aide

Last edit: 7 hours 11 minutes ago by lesyeux. Reason: Résolu

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

  • Posts: 84441
  • Thank you received: 13738
  • MODERATOR
3 days 1 hour ago #368865

Bonjour,

Dans le listing des commandes du frontend, l'utilisateur dispose d'un bouton "Actions" avec un liste de choix pour payer la commande, imprimer la facture, accéder au détail, recommander, contacter la boutique, etc. Ces actions sont visibles ou non en fonction des paramètres de la boutique, du statut de la commande, etc.
Vous pourriez rajouter un choix "suivi de la livraison" à ce bouton.
Pour cela, dans le menu Display>Views d'HikaShop, vous pouvez éditer le fichier order / listing pour le template de votre frontend.
Là, avant la ligne:

if(!empty($dropData)) {
vous pourriez rajouter quelque chose comme cela:
			if(!empty($row->xxx)) {
				$dropData[] = array(
					'name' => '<i class="fa fa-truck"></i> Suivi de la livraison',
					'link' => $row->xxx
				);
			}
où xxx est le nom de colonne de votre champ personnalisé

Last edit: 3 days 4 hours ago by nicolas.

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

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
3 days 27 minutes ago #368875

Merci, je vais essayer ça

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

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
3 days 10 minutes ago #368876

Mon champ personnalisé est de type "Lien" et nommé "suivi_colis".

Si je remplace, dans votre code, xxx par suivi_colis, le lien apparaît bien dans le menu "Actions" pour les commandes expédiées, mais il pointe vers la page d'accueil. Ça ne récupère pas le lien saisi dans le champ "Url" de mon champ personnalisé, dans le backend.

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

  • Posts: 84441
  • Thank you received: 13738
  • MODERATOR
2 days 10 hours ago #368884

Bonjour,

Dans ce cas, vous pouvez utiliser ce code:

			if(!empty($row->suivi_colis)) {
				preg_match('#^"?(.*)"?:(.*)$#iU', $row->suivi_colis, $m);
				$dropData[] = array(
					'name' => '<i class="fa fa-truck"></i> Suivi de la livraison',
					'link' => $m[2]
				);
			}

The following user(s) said Thank You: lesyeux

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

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
2 days 7 hours ago #368891

Bonjour,

Merci beaucoup, cette fois-ci, ça fonctionne, j'ai le bon lien dans le menu Actions.

Comment obtenir qu'il s'ouvre dans une nouvelle fenêtre ?

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

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
2 days 7 hours ago #368892

Je souhaiterais appliquer la même modification à la vue user / cpanel_order.

Le code qui fonctionne pour la vue order / listing ne fonctionne pas pour user / cpanel_order. Il doit falloir un petit ajustement pour s'adapter au nouveau contexte.

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

  • Posts: 84441
  • Thank you received: 13738
  • MODERATOR
7 hours 59 minutes ago #368902

Bonjour,

Pour qu'il s'ouvre dans un nouvel onglet, vous pouvez faire ainsi:

			if(!empty($row->suivi_colis)) {
				preg_match('#^"?(.*)"?:(.*)$#iU', $row->suivi_colis, $m);
				$dropData[] = array(
					'name' => '<i class="fa fa-truck"></i> Suivi de la livraison',
					'link' => $m[2],
					'extra' => 'target="blank"'
				);
			}
Vous pouvez en effet faire la même chose dans user / cpanel_orders, mais là la variable avec les données de la commande n'est pas $row mais $order
Donc il faut modifier cela dans le code que vous rajoutez.

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

  • Posts: 495
  • Thank you received: 33
  • Hikashop Business
7 hours 12 minutes ago #368904

C'est parfait, tout fonctionne, mille mercis.

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

Time to create page: 0.068 seconds
Powered by Kunena Forum