J'essaie de créer une règle personnalisée (à l'aide de Règles module) afin que Chaque fois que le cron fonctionne, cette règle vérifie un champ de date dans un type de contenu personnalisé que j'ai créé. Si cette date a passé, je souhaite définir un widget de liste de C'est la distance que je reçois lorsque j'essaie de créer cette règle: P>
Voici le problème: Des idées où je vais mal ici? P> actif code> sur
terminé code>. P>
réacteur sur l'événement code> à
Les tâches de maintenance cron sont effectuées code> li>
Ajouter une condition code>> SET
Sélectionnez la condition pour ajouter code> à
Comparaison de données code >> Continuer LI>
ol>
Sélection de données code> n'a que
site code> et aucun accès aux données de champ. p>
3 Réponses :
Vous devez d'abord créer un composant de règles: P>
Je déclare: Je ne sais pas si cela fonctionne, mais au moins cela devrait vous diriger vers le chemin droit P>
Désolé pour mon anglais, j'espère que vous comprenez tout :) p>
Le problème de la condition de règles "Les tâches de maintenance cron sont effectuées" est qu'à ce point, il n'y a pas d'accès à l'objet de nœud afin que des chèques / manipulations sur le nœud ne soient pas possibles. En tant que solution, au lieu de
Oui, vous devriez pouvoir obtenir cela pour travailler à l'aide du Règles Module pour mettre en œuvre quoi Vous cherchez, mais je vous recommande de combiner aussi que avec le Vues Règles Module. Quelques détails sur ce module (à partir de sa page de projet): P>
offre des points de vue directement comme des actions de règles et des boucles pour utiliser de manière transparente les données de résultat de la vue. p> blockQuote>
La citation précédente peut sembler un peu cryptique (cela peut vous faire penser comme «alors quoi, comment cela peut-il m'aider?»). Parmi les autres détails sur la façon d'aller de l'avant à l'aide de ces modules: P>
- Créez une vue (en utilisant Vues ) afin que vous ayez 1 résultat des vues (rangée) Avec tous les nœuds que vous souhaitez être traités (liés à votre type de contenu personnalisé et si un filtre possible en quelque sorte à l'aide de votre champ de date). ATTENDU QUE cette vue a des champs (colonnes) pour tout ce qui est nécessaire dans les étapes suivantes, par exemple l'ID de nœud, le champ Date et éventuellement d'autres champs. Vous aurez besoin de ces champs d'affichage ultérieurement sous forme de valeurs à traiter par votre règle, "pour définir un widget de liste de
actif code> sur
terminé code> *" (comme dans votre question) . Important: Utilisez un type d'affichage des vues de "règles". LI>
- Supprimer cette "condition ajoute" (dans la règle personnalisée que vous avez démarré) et utilisez plutôt le Les règles Module à itérer sur chacune de ces vues entraînent une action de règles, en utilisant la technique de règles appelée "boucle de règles". Li>
- Pour chaque étape d'itération dans votre boucle de règles, effectuez une action de règles sur " faire votre chose em>" (= Pour définir un widget de liste de
actif code> sur
sur
terminé code>). À ce moment-là, vous aurez toutes les données de chaque colonne de vos résultats de vues disponibles comme des paramètres de règles. Donc, à ce stade, c'est un morceau de gâteau d'adapter la valeur de ce widget de liste pour le nœud que vous traitez dans cette boucle. LI>
- éventuellement, vous pouvez également ajouter toutes les conditions de règles supplémentaires, également à votre guise. Typiquement, les choses que vous ne pouvez pas, ni ne sont pas encore exprimées en tant que filtre de vues. Toutefois, si vous avez le choix entre utiliser un filtre de vues et une condition de règles supplémentaire, je vous recommande d'aller pour le filtre de vues, car cela réduira le nombre de vos itérations dans votre boucle de règles (performances!). LI> ol>
facile, non? em> strong> p>