THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour,

je cherche également à faire apparaître #MESSAGECMD dans le mail de commande.

Avez-vous une piste ?

Offline

Offline


Bonjour

Je suis comme Serge et Korrigan, j'aimerais que le message apparaisse aussi sur le courriel de la commande soit comme texte à la fin, soit comme fichier joint ..

Alexandre propose le plugin de paiement....Mais comment ?

A+


Site en construction http://boutique.boucheriediscount.fr

Offline


Le plugin de paiement définit une méthode mail et substitmail (de mémoire pas sûr de l'orthographe). Modifier ces méthodes pour modifier le mail qui est envoyé me semble une solution propre.


Plugins : Modèles Thelia | Boucle libre | Rubriques déclinables en produits | Colissimo Access/Expert

Offline


Il n'est pas nécessaire de modifier les plugins de paiement.

Il faut modifier le plugin messagecmd pour qu'il implémente la méthode substitutionsmailcommande(&$corps, $commande), qui permet d'apporter des modifs au corps des messages de commande. On y placera la substitution dont vous avez besoin.

Last edited by roadster31 (29-04-2012 15:15:52)


OpenStudio Toulouse

Offline


Ok, je vois ce qu'il faut faire mais je patauge un peu sur le php pour utiliser cette méthode... Je ne veux récupérer que le champ du message du coup voici ce que j'ai ajouté au plugin :

function substitutionsmailcommande(&$corps, $commande){

        $message =$_SESSION['texte_messagecmd'];

        $corps = str_replace("__MESSAGECMD__", $message, $corps);

}

J'ai testé et bien entendu rien ne s'affiche sur le mail de commande.
Je suppose que c'est ma récupération de variable qui n'est pas bonne...
Est-ce que quelqu'un peut m'éclairer ?

Merci !

Offline


Re

mon client commence à s'impatienter et je n'arrive pas à récupérer le contenu du message dans mon mail de confirmation...

Quelqu'un peut-il m'expliquer comment utiliser la méthode substitutionsmailcommande pour y arriver,  à moins qu'il y ai un poste à ce sujet que je n'ai pas vu ?

Merci en tout cas pour vos conseils et votre aide

Offline


Il te faut une 1.5.1 pour utiliser substitutionsmailcommande.


OpenStudio Toulouse

Offline


c'est bien la version thélia 1.5.1 que j'ai installé

si tu peux m'expliquer un peu la manoeuvre ce serait sympa

Offline


Ce que tu as fait erst OK. Maintenant, il faut être sûr de ce qu'il y a dans $_SESSION['texte_messagecmd']. Quand tu dis "bien entendu rien ne s'affiche sur le mail de commande", c'est rien, ou c'est __MESSAGECMD__ ?

Si c'est rien, c'est que $_SESSION['texte_messagecmd'] est vide, et que ton problème est ailleurs.

Si c'est __MESSAGECMD__, c'est que la méthode substitutionsmailcommande n'est pas appellée, ce qui m'étonnerais beaucoup.


OpenStudio Toulouse

Offline


Suite à ta réponse j'ai regardé et j'ai trouvé ce qui bloque.

Lors de mes premiers tests d'installation du plugin j'avais remarqué que si l'utilisateur était toujours connecté et souhaitait passer une nouvelle commande le contenu du premier message était gardé en session.

Du coup j'ai retouché le code pour faire :

        function aprescommande($commande){
            if($_SESSION['texte_messagecmd']){
                $msg = new Messagecmd();
                $msg->commande = $commande->id;
                $msg->message = $_SESSION['texte_messagecmd'];
                $msg->destinataire = $_SESSION['texte_destinatairecmd'];
                $msg->expediteur = $_SESSION['texte_expediteurcmd'];

                $msg->add();
                $_SESSION['texte_messagecmd'] = "";
                $_SESSION['texte_destinatairecmd'] = "";
                $_SESSION['texte_expediteurcmd'] = "";
            }
        }
       
donc effectivement ça n'affiche rien parce que la session est vidée !
Je dois donc récupérer le contenu de texte_messagecmd dans la base.

Php n'étant pas mon domaine majeur pouvez-vous m'aider ?

Offline


Bonjour tous

Lorqu'on clique sur Enregistrer le message, on bascule.
J'aimerais que l'on reste sur la même page tout en enregistrant le message bien sur.

<form method="post" action="#VARIABLE(urlsite)/?fond=commande&action=transport&id=#COMMANDE_TRANSPORT" id="formulaireMessage">
<label for="texte_messagecmd">Message : </label><br />
<textarea id="texte_messagecmd" name="texte_messagecmd" maxlength="120" rows="2" ></textarea>
<button type="submit" class="boutonMemeLigneQuInput"><span>Enregistrer message</span></button>
</form>

Offline


Petit up pour ce message, car j'ai le même problème et pas de solution (ou plus exactement pas les compétences php qu'il faudrait).
Ce que j'ai fait, après la function aprescommande

	public function substitutionsmailcommande(&$corps, $commande ){

		$corps = str_replace("__EXPEDITEUR__", $this->expediteur, $corps);
		$corps = str_replace("__DESTINATAIRE__", $this->destinataire, $corps);

		return $corps;
		}

Mais ça n'est apparemment pas efficace.
Je suis sûre que c'est peu de chose, mais quand on ne sait pas...
Merci pour votre aide.
Al.


v. 1.5.4 - v 2.3.4 - v 2.4.3