如何创建一个Drupal规则来检查(在cron上)一个日期字段,如果将set field"status"传递给"ends"?

Cyb*_*ell 6 drupal-7 drupal-rules

我正在尝试创建自定义规则(使用" 规则"模块),以便每次运行cron时,此规则都会检查我创建的自定义内容类型中的日期字段.如果该日期已过,然后我想从设置列表控件 activeended.

这是我在尝试创建此规则时获得的:

  1. 设置React on eventCron maintenance tasks are performed
  2. Add Condition>设置Select the condition to addData comparison>继续

这是问题:Data selectors只有site和不能访问字段数据.

我在这里出错的任何想法?

小智 0

您需要首先创建一个规则组件:

  1. 转到规则 > 组件(admin/config/workflow/rules/components)
  2. 然后创建一个新组件并从选择列表中选择“规则”
  3. 为此组件设置名称,然后在下表中选择:
    1. 数据类型:文本标记
    2. 标签:你想要的名字
    3. 机器名称:使用与标签相同的名称,但此处仅设置小写和下划线
    4. 用途:参数
  4. 在组件中添加条件“数据比较”并选择节点:类型
  5. 添加您想要的其他条件
  6. 设置您想要的操作并保存
  7. 现在转到规则(admin/config/workflow/rules) 并创建包含 cron 维护操作的规则(正如您已经完成的那样)
  8. 跳转条件部分并在操作中:
    1. 新操作:添加变量
    2. 值:文本
    3. 然后写入此变量的值,就像您要循环的内容类型的机器名称一样(如果您愿意,可以在下面的部分中更改此变量的名称和机器名称)
  9. 现在添加另一个操作“按属性获取实体”
    1. 实体类型值:节点
    2. 属性值:类型
    3. 数据选择器:在第8点创建的变量
  10. 现在在参数列表中添加一个循环,使用“按属性获取实体”提供的变量
  11. 在循环中添加一个动作(点击循环行右侧的链接)并选择第2点中创建的组件并传递循环提供的变量

我声明:我不知道它是否有效,但至少它应该引导你走向正确的道路

抱歉我的英语不好,我希望你能理解一切:)