将drupal 6规则模块转换为drupal 7

将drupal 6规则模块转换为drupal 7,drupal,drupal-rules,Drupal,Drupal Rules,在我看来,规则2开发的文档至少比版本1要混乱得多。我试图为一个新的规则操作获取一个用户贡献的模块,该操作转换为drupal 7/rules 2。原始帖子可在此处找到: 这里是实际操作信息部分,因为drupal.org现在看起来已经关闭了 function paction_rules_action_info() { return array( 'paction_mail_node' => array( 'label' => t('Send node as HTML form

在我看来,规则2开发的文档至少比版本1要混乱得多。我试图为一个新的规则操作获取一个用户贡献的模块,该操作转换为drupal 7/rules 2。原始帖子可在此处找到:

这里是实际操作信息部分,因为drupal.org现在看起来已经关闭了

function paction_rules_action_info() {
return array(
  'paction_mail_node' => array(
    'label' => t('Send node as HTML formated email'),
    'arguments' => array(
      'node' => array('type' => 'node', 'label' => t('Content')),
    ),
    'eval input' => array('to', 'from', 'subject', 'message'),
  ),
  'module' => 'Node',
);
}


我的问题是,这是否需要为drupal 7完全重写,或者一些代码是否可以快速转换?

您需要更改很多内容

从这个开始:

将“模块”重命名为“组”,并将“节点”更改为转换值,可能是“内容”-看看与节点相关的操作使用了哪些规则

将“参数”更改为“参数”

删除eval输入,即不存在。相反,您可能希望将这些键定义为“text”类型的参数。然后规则会自动为您构建表单,您只需删除表单回调即可

不需要,但您可能还希望将“命名参数”设置为TRUE。将带有参数的单个数组作为键传递给动作回调函数,这样在有多个参数时就更容易了

您可能还需要调整您的操作回调。只需更新action_info钩子,然后查看传递给回调的规则