Je veux envoyer un nœud via des règles. Je peux l'envoyer en utilisant le jeton [noeud: corps]. Cependant, je souhaite également utiliser des jetons dans le corps du nœud actuel. (Remarque: ce ne sont pas des jetons mondiaux)
Pense à cela comme une newsletter et dans le champ du corps que j'utilise
Cher [Field_ef_First_Name], ...
Je peux obtenir le jeton de rendre si je le mettais directement dans le corps du message de messagerie à action, mais si c'est dans le champ du corps du nœud lui-même, cela ne rend pas.
Le champ Nom vient de trouver une boucle de règle de vues.
Règle exportée:
{ "rules_send_newsletter_when_published" : {
"LABEL" : "Send newsletter when published",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "node_insert--blog" : { "bundle" : "blog" } },
"DO" : [
{ "VIEW LOOP" : {
"VIEW" : "entityforms",
"DISPLAY" : "views_rules_1",
"ROW VARIABLES" : {
"field_ef_email" : { "email" : "Email" },
"field_ef_first_name" : { "first_name" : "First Name" }
},
"DO" : [
{ "mail" : {
"to" : "[email:value]",
"subject" : "[node:title]",
"message" : "[node:body]",
"language" : [ "" ]
}
}
]
}
}
]
}}
À l'aide de jetons dans le corps d'un nœud, combiné à l'utilisation de [node:body]
Dans une action de règles, il suffira que le jeton soit inclus tel quel (sans rendu). Cependant, sur la base de ce que vous essayez de faire, vous voudrez peut-être jeter un coup d'œil à une approche totalement différente pour atteindre votre objectif ...
Activer le module - forena (DIVULGATION: Je suis un co-mainteneur) et consultez Email actif des utilisateurs (Utilisation de la syntaxe Frx), qui est l'un des échantillons Inclus dans le module (qui peut être utilisé pour envoyer un courrier électronique à un Corps de message Modèle à tous les utilisateurs enregistrés).
Ce sont les pièces de ce fichier FRX qui sont pertinentes pour la question ici:
Le Datablock drupal/active_users
, Qui est (juste) une instruction SQL qui ressemble à:
--ACCESS=access administration pages
SELECT uid, name, mail, login, status
FROM {users}
WHERE status=1 order by name
Le frx:foreach="*"
, Qui provoquera une itération pour chaque ligne incluse dans les résultats du bloc de données, pour tout à l'intérieur de celui-ci div
(lié à la Datablock).
Le div
avec class="email-body"
, Qui commence par Dear {name}
, Et qui comprend un jeton de remplacement indiqué avec {name}
.
La ligne avec <frx:doc type="email" />
, Pour activer le format de document "Envoyer un e-mail".
Une fois que vous avez activé le module et visitez le chemin relatif à /reports/drupaladmin.sample_active_users_letter
, C'est ce qui va arriver:
Dear {name}
).Avec ce qui précède, c'est ce que vous auriez besoin de le faire fonctionner pour votre cas:
field_ef_email
Et field_ef_first_name
.Utilisez les jetons dont vous avez besoin, n'importe où dans le Corps de votre email. Par exemple. remplacer cela Dear {name}
. Si vous avez besoin de plus, ou d'autres données, ajoutez simplement un nom approprié à votre Datablock (en tant que colonne supplémentaire). En tant qu'échantillon, voici une partie d'un fichier FRX que j'ai créé pour transformer les soumissions WebForm en une sorte de courrier électronique à chacun de ceux qui ont soumis le formulaire:
<p>Hello,</p>
<p>thank you for using our form (with node id = {node}) to submit your feedback (with submission id = {submission}). You're now confirmed via the eMail Id you entered (= {fieldvalue}) to receive eMails from us.</p>
<p>We'll get back to you shortly for an additional followup eMail.</p>