欢迎各位兄弟 发布技术文章
这里的技术是共享的
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()钩子函数的实现,这个钩子主要定义了如下内容:
第二个函数是具体的动作函数,它实现的动作是:在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...