- Posts: 75
- Thank you received: 2
Action de masse comment récupérer les valeurs
-- 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.
Dans la partie preload version, vous trouverez le code php et où
J'espère que ceci vous aidera.
Cordialement
Please Log in or Create an account to join the conversation.
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.
Please Log in or Create an account to join the conversation.
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
Please Log in or Create an account to join the conversation.
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.
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:
Please Log in or Create an account to join the conversation.
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.
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.
Please Log in or Create an account to join the conversation.
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.
J'ai mis le code $user->user_email dans la tâche d'action de masse et je le reçois tel quel dans le courriel de notification.
Comment faire ?
Please Log in or Create an account to join the conversation.
Je vous recommande de supprimer les modifications que vous avez faites dans le preload.
A la place, faites la modification dont je parlais, dans le HTML de l'email:
www.hikashop.com/forum/5-support-en-fran...-valeurs.html#360545
Please Log in or Create an account to join the conversation.
Merci de ces précisions ! Je m'étais basé sur ce message www.hikashop.com/forum/5-support-en-fran...-valeurs.html#360718 pour l'introduire en début du fichier preload.
Je récapitule :
1. j'ai remis le fichier preload initial
2. j'ai ajouté tout le code au début du fichier massaction_notification.html.php (juste après "defined('_JEXEC') or die('Restricted access');")
2 questions à ce stade :
- la ligne "echo ..." a-t-il sa place ici ?
- que dois-je mettre dans l'action de masse ?
Merci infiniment pour toute l'aide !
Please Log in or Create an account to join the conversation.
1. Oui, le echo permet de faire l'affichage dans l'email. Je recommande de mettre le code juste après le tag {TXT:EMAIL_BODY}
2. Dans l'action, vous voulez juste renseigner votre adresse email dans l'option "to address". Vous pouvez mettre le texte que vous voulez dans le sujet et le body. Le texte du body sera rajouté à l'email de notification.
Please Log in or Create an account to join the conversation.