欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

创建Drupal Rules模块的自定义动作 rule rules 自定义规则 有大用

shiping1 的头像

具体的例子可以看rules模块里面的代码
创建Drupal Rules模块的自定义动作

drupal action选择页面

Rules是Drupal中最重要的ECA(Event,Condition,Action)模块。在默认情况下,它为我们提供了很多动作 (action)。但是,这并不能完全满足我们的需求。今天我为大家介绍一下,如何为Drupal的Rules模块创建一个简单的自定义动作。

我们的Drupal模块名为mymodule,有3个文件组 成:mymodule.info,mymodule.module,mymodule.rules.inc。前两个文件不必多 说,mymodule.rules.inc文件用于放置我们的动作定义代码。当钩子被调用时,它将被自动include。代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
function mymodule_rules_action_info() {
  $actions = array(
    'my_action' => array(
      'label' => t('我的自定义动作'),
      'group' => t('我的动作分组'),
    )
  );
  return $actions;
}
 
function my_action() {
  drupal_set_message(t('我的自定义动作是发送这条消息'));
}

第一个函数是hook_rules_action_info()钩子函数的实现,这个钩子主要定义了如下内容:

  • 动作函数的名称为my_action
  • 动作在Rules UI中的名称为“我的自定义动作”
  • 动作在Rules UI的分组为“我的动作分组”

第二个函数是具体的动作函数,它实现的动作是:在Drupal的消息区域发送一条字符串。

之后为Drupal启用我们mymodule模块,就可在Rules UI中使用它了。URL是:http://你的网站域名/admin/config/workflow/rules。

再提醒一下,t()函数中原则上只能使用英文,我在文章中使用中文,是为了大家看起来方便。
来自 http://mydrupal.org/%E5%88%9B%E5%BB%BAdrupal-rules%E6%A8%A1%E5%9D%97%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B...

普通分类: