わかりました...ここに同様の投稿があることを知っていることから始めましょう((cronで)日付フィールドをチェックするDrupalルールを作成し、フィールド「ステータス」を「終了」に設定した場合は?)が答えその投稿では機能しません。ステップ 4 (コンポーネントで条件「データ比較」を追加し、node:type を選択) は機能しないか、オプションとして存在します。
私がする必要があるのはこれです:
Cron の場合 > コンテンツ タイプがevent
で、終了日が現在の日付を過ぎている場合は、status
フィールドを からActive
に変更しますEnded
。(選択リスト)
Event を使用してこれを行うことができましたがContent is viewed
、cron が実行されているときに実際に作業する必要があります。
サイドノート:私が持っている現在のバージョン(コンテンツが表示されている)では変更Active
されEnded
ますが、何らかの理由でノードのタイトルが削除されます。これは、Drupal でファイルされたタイトルが必要であるため、奇妙です...それが起こっていることについての考え?
それが役立つかどうかはわかりませんが、ここに私が自分で行ったことのエクスポートがあります:
{ "rules_event_status" : {
"LABEL" : "Event Status",
"PLUGIN" : "reaction rule",
"ACTIVE" : false,
"REQUIRES" : [ "rules", "php" ],
"ON" : [ "node_view" ],
"IF" : [
{ "node_is_of_type" : { "node" : [ "node" ], "type" : { "value" : { "event" : "event" } } } },
{ "AND" : [] },
{ "php_eval" : { "code" : "\/\/dpm(strtotime($node-\u003Efield_event_date_time[LANGUAGE_NONE][0][\u0027value2\u0027]));\r\nif (time() \u003E strtotime($node-\u003Efield_event_date_time[LANGUAGE_NONE][0][\u0027value2\u0027]))\r\n{\r\n return true;\r\n}" } }
],
"DO" : [
{ "data_set" : { "data" : [ "node:field-event-status" ], "value" : "Ended" } }
]
}
}
どんな助けでも大歓迎です。
ありがとう
C