【发布时间】:2013-10-03 23:13:23
【问题描述】:
好的...首先让我说我知道这里有一个类似的帖子 (How to create a Drupal rule to check (on cron) a date field and if passed set field "status" to "ended"?) 但该帖子上的答案不起作用。第 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
【问题讨论】:
标签: datetime drupal drupal-7 drupal-rules