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.
我正在使用 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.