是的,您应该能够使用“规则”模块来实现您正在寻找的内容,但我建议您也将其与“视图规则”模块结合使用。关于这个模块的一些细节(来自它的项目页面):
将视图直接作为规则操作和循环提供,以无缝使用视图结果数据。
前面的引用可能看起来有点神秘(它可能会让你想“那又怎样,这对我有什么帮助?”)。因此,有关如何使用这些模块继续前进的更多详细信息:
- 创建一个视图(使用Views),以便您拥有 1 个 Views 结果(行),其中包含您想要处理的所有节点(与您的自定义内容类型相关,如果可能的话,使用您的日期字段进行过滤)。而该视图具有后续步骤中所需的任何字段(列),例如节点 ID、日期字段以及可能的其他字段。稍后您将需要这些 View 字段作为您的规则处理的值,“将列表小部件设置
active
为ended
*”(如您的问题中所示)。重要提示:使用“规则”的视图显示类型。
- 删除该“添加条件”(在您启动的自定义规则中),而是使用“视图规则”模块迭代这些视图中的每一个,从而生成一个规则操作,使用称为“规则循环”的规则技术。
- 对于规则循环中的每个迭代步骤,执行规则操作以“做你的事情”(= 将列表小部件从 设置
active
为ended
)。届时,您将拥有来自视图结果每一列的所有数据,即所谓的规则参数。因此,此时为您在该循环中处理的节点调整该列表小部件的值是小菜一碟。
- 或者,您可能还想添加任何额外的规则条件,这也取决于您自己的想象。通常,您不能或尚未将其表示为视图过滤器。但是,如果您可以在使用视图过滤器和额外的规则条件之间进行选择,我建议您使用视图过滤器,因为这将减少您在规则循环中的迭代次数(性能!)。
容易,不是吗?