为操作提供新的变量(成为专家)
1. 引言
在Drupal的规则框架中,操作是规则的核心组成部分之一。通过操作,我们可以执行各种任务,例如发送邮件、更新数据库条目等。然而,有时我们需要操作在执行后返回一些额外的数据,以便在规则中进一步处理这些数据。本文将详细介绍如何为操作提供新的变量,使操作不仅能够执行任务,还能返回有用的数据供规则使用。
2. 扩展现有操作
为了使操作能够在执行后返回数据,我们需要在 hook_rules_action_info()
函数中定义新的操作,并使用 "提供"
属性来指定返回的数据。以下是具体步骤:
2.1 添加新的关联数组
在 hook_rules_action_info()
函数中,添加一个新的关联数组,定义操作的标签、提供的变量以及所属的组。例如:
'custom_registered_users' => array(
'label' => t('获取注册用户数量'),
'提供' => array(
'number_of_users' => array(
'类型' => '整数',
'标签' => t('用户数量')
),
),
'组' => t('规则自定义')
)
2.2 创建回调函数
为了提供数据,我们需要创建一个回调