Drupal 7 如何使用当天发布的所有节点的规则在日终发送电子邮件通知?

Drupal 7 如何使用当天发布的所有节点的规则在日终发送电子邮件通知?,drupal-7,drupal-rules,Drupal 7,Drupal Rules,我正在尝试实现电子邮件通知。条件是,它应该在一天结束时与当天发布的内容列表一起运行 出于同样的原因,我也尝试了一些使用的东西,但都被夹在中间了 有什么帮助吗 我尝试使用规则,并创建了如下规则: 活动: 更新类型(内容类型名称)的现有内容后 执行Cron维护任务 条件:要比较的数据:[节点:字段img状态],数据值:批准 当我试图添加第二个条件来检查节点是否在24小时内发布时,我无法实现它。当我添加strotime(“-1天”)时,会出现如下错误: 错误的日期格式。以2017-05-10 0

我正在尝试实现电子邮件通知。条件是,它应该在一天结束时与当天发布的内容列表一起运行

出于同样的原因,我也尝试了一些使用的东西,但都被夹在中间了

有什么帮助吗

我尝试使用规则,并创建了如下规则:

  • 活动:

  • 更新类型(内容类型名称)的现有内容后
  • 执行Cron维护任务
  • 条件:要比较的数据:
    [节点:字段img状态]
    ,数据值:
    批准

当我试图添加第二个条件来检查节点是否在24小时内发布时,我无法实现它。当我添加
strotime(“-1天”)
时,会出现如下错误:

错误的日期格式。以2017-05-10 08:17:18的格式指定日期

我尝试了
date('Y-m-dh:I:s',strotime(“-1天”)
,但没有成功


现在,我正在尝试另一种方法来实现它,这是在关于“”的问题中建议的方法。

我将如何实现这一点:

  • 创建一些视图,列出今天创建的所有节点

  • 做一些终结点(从我的模块中,签出:) 它将调用此视图,并获取该节点列表(即带有视图\u get\u view\u result:),循环浏览列表,撰写电子邮件并发送它

  • 然后我会设置cron job在每天结束时调用该端点


  • 这就是我如何做到这一点:

  • 创建一些视图,列出今天创建的所有节点

  • 做一些终结点(从我的模块中,签出:) 它将调用此视图,并获取该节点列表(即带有视图\u get\u view\u result:),循环浏览列表,撰写电子邮件并发送它

  • 然后我会设置cron job在每天结束时调用该端点


  • 下面是我如何让这项工作的蓝图

    步骤1:为发布的每个节点创建一封电子邮件
    • 创建(使用)过去24小时内发布的所有节点的视图。确保在该视图中包含一列,其中包含您希望稍后包含的有关电子邮件中每个节点的各种数据

    • 用于创建包含规则操作的规则,该规则操作由“规则循环”组成,其中的“列表项”实际上是您希望稍后包含在电子邮件中的节点列表。要创建此规则循环,请对所创建的视图使用与视图显示类型“视图规则”组合的。有关如何使用该模块的更多详细信息,请参阅“”

    • 对于上一步规则循环中的每个列表项,您可以访问所创建视图中每个列的所有数据。通过使用这些数据,您可以添加一个附加的规则操作(在相同的规则循环中),以发送有关正在处理的节点的适当电子邮件

    步骤2:将所有电子邮件分组到一封电子邮件中 显然,前一步为过去24小时内发布的每个节点创建一封电子邮件。如果您只有几个节点,那么这可能不是一个真正需要担心的问题。但是如果你有几十个(或更多)这样的节点,那么你可能需要考虑在一个电子邮件中整合所有这些电子邮件,其中包含(在它的电子邮件主体中)完整的节点列表。 实现这种整合的可能解决方案类似于我对“”的回答中包含的规则示例。在你的情况下,你可以这样做:

  • 在循环开始之前,添加一些新的规则变量,这些变量稍后将作为电子邮件正文的一部分使用。假设您将变量命名为
    节点\u列表\u变量\u电子邮件\u正文
  • 在循环中,对于每次迭代,将每个“列表项”的值前置或追加到该变量
    节点\u列表\u变量\u email\u body
  • 在循环完成后,移动规则操作以在循环外部发送电子邮件。并微调(新的)“发送电子邮件”规则操作的详细信息(配置)。执行此操作时,您将能够为
    节点\u列表\u var\u电子邮件\u正文
    选择令牌,以包括电子邮件正文中的任何位置
  • 第3步:安排规则的日常执行 使用来计划规则的每日执行。有关此模块的更多详细信息,请参阅“”


    瞧,就是这样…

    下面是我如何让它工作的蓝图

    步骤1:为发布的每个节点创建一封电子邮件
    • 创建(使用)过去24小时内发布的所有节点的视图。确保在该视图中包含一列,其中包含您希望稍后包含的有关电子邮件中每个节点的各种数据

    • 用于创建包含规则操作的规则,该规则操作由“规则循环”组成,其中的“列表项”实际上是您希望稍后包含在电子邮件中的节点列表。要创建此规则循环,请对所创建的视图使用与视图显示类型“视图规则”组合的。有关如何使用该模块的更多详细信息,请参阅“”

    • 对于上一步规则循环中的每个列表项,您可以访问所创建视图中每个列的所有数据。通过使用这些数据,您可以添加一个附加的规则操作(在相同的规则循环中),以发送有关正在处理的节点的适当电子邮件

    步骤2:将所有电子邮件分组到一封电子邮件中 显然,前一步为过去24小时内发布的每个节点创建一封电子邮件。如果您只有几个节点,那么这可能不是一个真正需要担心的问题。但是如果你有几十个(或更多)这样的节点,那么你可能需要考虑在一个电子邮件中整合所有这些电子邮件,其中包含(在它的电子邮件主体中)完整的节点列表。 实施此类整合的一个可能解决方案与此类似