好的...首先让我说我知道这里有一个类似的帖子(如何创建 Drupal 规则来检查(在 cron 上)日期字段以及是否将设置字段“状态”传递给“结束”?)但是答案在那个帖子上不起作用。第 4 步(在组件中添加条件“数据比较”并选择节点:类型)不起作用,甚至作为选项存在。
我需要做的是:
在 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