1

规则 2 开发的文档似乎(至少对我而言)比版本 1 更令人困惑。我试图为转换为 drupal 7/rules 2 的新规则操作获取用户贡献的模块。可以在此处找到原始帖子:http ://drupal.org/node/675010#comment-4135238

这是实际的操作信息部分,因为它看起来像 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 完全重写,还是可以显示代码的快速转换?

4

1 回答 1

0

你需要改变很多东西......

从这个开始:

  • 将 'module' 重命名为 'group' 并将 'Node' 更改为翻译后的值,可能是 t('Content') -- 看看 Rule 用于 Node 相关操作的内容。

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

  • 删除 eval 输入,就没有了。相反,您可能希望将这些键定义为“文本”类型的参数。然后规则会自动为您构建表单,您可以简单地删除表单回调。

  • 没有必要,但您可能还想将“命名参数”设置为 TRUE。这将带有参数的单个数组作为键传递给您的操作回调函数,当您有许多参数时会更容易。

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

于 2011-02-25T18:22:20.097 回答