Drupal 的网络表单模块未使用 webform.api.php

Drupal's webform module isn't using the webform.api.php

我正在使用 Drupal 7 的 Webform 模块,我正在尝试修改 webform.api.php 中的 hook_webform_submission_presave ,但似乎该模块未使用此文件,因为我进行了修改但未更改任何内容。

我必须在任何地方对 Drupal 说才能使用这个文件吗?或者我必须做什么?

首先,我希望你知道你不应该直接更改模块文件,而是向你的模块添加钩子函数,并将函数名称开头的 "hook" 更改为你的模块机器名称。

其次,您必须清除所有缓存,这样 Drupal 才会 re-scan 您的模块并发现有新的挂钩函数并开始使用它。

因此,您必须先创建自己的模块:

https://www.drupal.org/developing/modules/7

别害怕 - 它只是一个文件夹,其中包含一个描述您的模块的信息文件和它自己的模块文件(在最小情况下)。

然后,如果您的模块名为 "anna",您应该在模块文件中创建一个函数并将其命名为:

anna_webform_submissions_presave()

并清除缓存 - 之后 Drupal 应该开始调用您的挂钩函数。

模块不使用它们的 .api.php 文件。这些文件用于文档目的。那是 the standard way for documenting hook definitions.