在动作中使用上下文

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-07-31 11:45

老葛的Drupal培训班 Think in Drupal

我们在前面已经看到,动作的函数签名的一般形式为example_action($object,$context)。下面让我们学习一下这些参数的具体含义。

• $object: 许多动作都是作用于Drupal的一个内置对象的:节点、用户、分类术语、等等。当trigger.module执行动作时,被作用的对象就会通过参数$object传递给动作。例如,如果一个动作被设置为在新节点创建时执行的话,那么$object参数包含的就是节点对象。
• $context: 一个动作可以在许多不同的上下文中被调用。通过在hook_action_info()中定义hooks键,动作就可以声明它们所支持的触发器。但是支持多个触发器的动作,需要使用一些方式来判定它们被执行时所处的上下文。这样,根据上下文的不同,动作会做出不同的反应。
 

Drupal版本:

高级动作(3)

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-07-31 11:44

老葛的Drupal培训班 Think in Drupal

第一个函数向Drupal描述了表单。我们只定义了一个文本输入框字段,这样管理员就可以输入嘟嘟的次数了。当管理员选择添加一个高级动作“嘟嘟多次”时,如图3-3所示,Drupal将会使用我们的表单字段来呈现一个完整的动作配置表单,如图3-4所示。

Drupal版本:

高级动作(2)

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-07-31 11:41

让我们快速的检查一下,我们的实现是否正确,导航到“管理➤站点配置➤动作”。不错,动作出现在了高级动作的下拉选择框中了,如图3-3所示。

Drupal版本:

高级动作(1)

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-07-31 11:39

动作主要有两种类型:带有参数的动作和不带参数的动作。我们前面所写的“嘟嘟”动作就是不带参数的动作。当动作执行时,它嘟嘟一下,这就完事了。但是许多时候,动作可能需要更多一点的上下文。例如,一个“发送电子邮件”动作,需要知道将电子邮件的发收件人以及邮件的标题和正文。这种需要为其在配置表单中做些设定的动作,就是高级动作,也称为可配置动作

Drupal版本:

分配该动作

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-07-31 11:33

现在,让我们重新回到“管理➤站点构建 ➤触发器”。如果你正确的完成了前面所给的这些东西,那么你的动作将会出现在这个用户界面,如图3-2所示。

3-2.该动作出现在了触发器用户界面的下拉选择框中
老葛的Drupal培训班 Think in Drupal

Drupal版本:

页面

Subscribe to Think in Drupal RSS