Action de masse comment récupérer les valeurs

  • Posts: 70
  • Thank you received: 2
  • Hikashop Essential
1 week 4 days ago #360490

-- HikaShop version -- : 5.0.4
-- Joomla version -- : 4.4.4
-- PHP version -- : 8.0.36
-- Browser(s) name and version -- : Firefox 125.0.2 (64 bits)

Bonjour.
Je lis ici qu'il n'est pas possible d'utiliser l'action d'envoi de mail et transmettre des données relatives à une commande ou à un client.
Par contre, vous mentionnez qu'avec l'action "run PHP code", on a accès aux données de la commande avec des tags. Où peut-on trouver ces tags ?
Je ne les ai pas trouvés dans la doc www.hikashop.com/support/documentation/1...s-action-plugin.html
Merci d'avance de votre aide. Cdt.

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

  • Posts: 4540
  • Thank you received: 612
  • MODERATOR
1 week 4 days ago #360492

Bonjour,

Dans la partie preload version, vous trouverez le code php et où

$texts = array(
	...
	'MAIL_HEADER' => JText::_('HIKASHOP_MAIL_HEADER'),
	'TPL_HEADER_TEXT' => JText::_('HIKASHOP_MAIL_HEADER'),
	'USER_ACCOUNT' => (bool)@$customer->user_cms_id,
	'PRODUCT_NAME' => JText::_('CART_PRODUCT_NAME'),
...
=> Il vous permet de définir des données dans votre tag, qui seront utilisées en version Html comme ceci par exemple :
<td style="border-bottom:1px solid #ddd;padding-bottom:3px;text-align:right">{LINEVAR:PRODUCT_PRICE}</td>

J'espère que ceci vous aidera.
Cordialement

Last edit: 1 week 2 days ago by Philip.

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

  • Posts: 70
  • Thank you received: 2
  • Hikashop Essential
1 week 2 days ago #360539

Merci beaucoup pour votre réponse.
Désolé, je ne trouve pas de Preload version. J'ai regardé dans les fichiers AcyMailing pour le preload, HIKASHOP_MAIL_HEADER et PRODUCT_PRICE mais je ne trouve pas donc je ne sais pas où chercher le code php.

Last edit: 1 week 2 days ago by Philip.

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

  • Posts: 4540
  • Thank you received: 612
  • MODERATOR
1 week 2 days ago #360540

Bonjour,

Pouvez vous préciser quel email vous chercher à customiser?
Je faisai réferences aux emails d'HikaShop, ici :
- A partir de la page de Configuration d'HikaShop d'HikaShop (components => HikaShop => Configuration)
- System dropdown => Emails
- Vous verez alors le listing des emails :



Note : Je me suis permis de retraduire les message du forum, car je vous ai répondu par erreur en Anglais (l'habitude...).
Cordialement

Last edit: 1 week 2 days ago by Philip.

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

  • Posts: 70
  • Thank you received: 2
  • Hikashop Essential
1 week 2 days ago #360544

je comprends bien la raison des alternances FR-EN ;-)

Dans mon premier message ci-dessus, je fais uniquement référence aux Actions de masse. Il est possible d'envoyer un courriel après une commande et j'aimerais pouvoir récupérer l'adresse électronique des acheteurs sur un produit précis. J'ai donc une action en fonction d'un product_id et paramétré l'action d'envoyer un courriel dans lequel j'ai inscrit "{user_email} [user_email]" dans le champ "Données pour le contenu" et je reçois un courriel avec ces 2 balises et pas du tout l'adresse électronique souhaité.

Dans le fil de discussion auquel je fais référence dans mon premier message, vous indiquez que cette action ne permet pas d'insérer des données relatives aux commandes ou aux clients, mais qu'il faut utiliser l'action de masse "run PHP code". Et c'est pour cette action que je pose la question d'où trouver les balises permettant de remonter l'adresse électronique du client.

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

  • Posts: 81597
  • Thank you received: 13081
  • MODERATOR
1 week 2 days ago #360545

Bonjour,

Depuis les messages du sujet auquel vous faites référence, nous avons ajouté la capacité à utiliser des tags dans le body de l'email que vous remplissez dans l'action de masse.
Par contre, cela ne fonctionne qu'avec les données directement dans la table hikashop_order.
Par exemple, si vous voulez le numéro de commande vous pouvez utiliser {order_number} dans le body de l'email.
Donc il n'est pas possible d'utiliser un tag pour l'email de l'utilisateur vu que cette information n'est pas stockée dans hikashop_order.

Pour aller plus loin dans la personnalisation, je vous recommande d'éditer l'email "massaction notification" via le menu Système>Emails.
Là, dans l'HTML, vous pouvez utiliser du code PHP comme ceci:

<?php
$userClass = hikashop_get('class.user');
foreach($data->elements as $order) {
 $user = $userClass->get($order->order_user_id);
 echo $user->user_email;
}
?>
Notez qu'une action de masse peut traiter plusieurs commandes d'un coup. Dans tous les cas, un seul email sera envoyé. D'où le foreach car il peut y avoir plusieurs commandes.

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

  • Posts: 70
  • Thank you received: 2
  • Hikashop Essential
3 days 11 hours ago #360707

Bonjour et merci de ces infos !
Merci beaucoup pour le code, je vais le tester lors de la prochaine commande !
Est-ce que la modification suivante vous paraît adéquate : $texts = array('EMAIL_BODY' => $user->user_email);
Manifestement, je n'ai pas accès avec HikaShop Essential à la modification des emails, hormis via FTP dans media/com_hikashop/mail

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

  • Posts: 81597
  • Thank you received: 13081
  • MODERATOR
3 days 8 hours ago #360708

Bonjour,

Juste cette ligne ? Non. $user n'existe pas dans le preload de l'email.
Il faut d'abord charger cette variable, comme je le fait dans le code que j'ai fourni dans mon précédent message.

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

  • Posts: 70
  • Thank you received: 2
  • Hikashop Essential
2 days 21 hours ago #360717

Pardon, mon message a été tronqué. En effet, j'ai ajouté tout votre code mais modifié uniquement la dernière ligne, demandant si la modification est correcte.

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

  • Posts: 81597
  • Thank you received: 13081
  • MODERATOR
2 days 16 hours ago #360718

Ah ok.
Dans ce cas, le code est ok si vous placez le code à la fin du preload.

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

Time to create page: 0.074 seconds
Powered by Kunena Forum