Workflow et code PHP

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,

Après moultes et vaines recherches, je pense qu'il sera plus rapide de vous exposer mon problème qui, je n'en doute pas, vous inspirera une réponse simple !

Je voudrais affiner les conditions du module Workflow afin qu'un mail soit envoyé aux utilisateurs lorsque qu'un utilisateur ayant un rôle déterminé (X) publiera un sujet de discussion bien particulier.

En fait, le problème est de distinguer les sujets de discussion. Tous les sujets créés par celui qui a le rôle X ne doivent pas déclencher l'envoi d'un mail. Seuls certains sujets particuliers devraient le faire.

Comment faire ?

Dois-je passer par un code PHP qui ferait référence à un champ ajouté au type "sujet de discussion" ? Ou y a-t-il une autre méthode ?

J'espère que ma question est claire, et que vous pourrez m'aider à débloquer la situation.

Merci d'avance.

Version de Drupal : 
Tags : 

Aidez-moi à rédiger le bon code PHP dans Workflow, s'il vous plait !

Voici ce que j'ai pour le moment comme règles :

Conditions :

  • Si "Content has type" = "sujet de discussion"
  • Si "Rôle" = "administrateur"

Actions :

  • Send mail to all users of a role

Maintenant, je souhaiterais rajouter la condition suivante :

  • Si le champ (field_code) = 1234

Mais je ne sais pas comment le rédiger en PHP. J'ai improvisé ça :

return $node_added->field_code = "1234"

Mais ça m'a renvoyé un message d'erreur au moment de la création de l'article !

Pour des spécialistes en PHP, la correction devrait être simple. Vous avez une idée ?

Bon, finalement, j'ai trouvé la solution tout seul.

Pour ceux que ça intéresserait, il fallait simplement utiliser la fonction "Numeric comparison" dans les conditions.

Les conditions pour déclencher l'envoi d'un email sont ainsi les suivantes :

  • Si "Content has type" = "sujet de discussion"
  • Si "User has role(s)" = "administrateur"
  • Si "Numeric comparison" renvoie comme vrai "[node:field_code] = 1234"