在从 ADMIN 保存之前,我需要操作内容类型(人)。
我需要在标题中保存姓名+姓氏
我知道应该使用presave 函数(hook_node_presave
或)。hook_entity_presave
我的问题是这些函数应该写在哪里?
我在主题/自定义/MYPROJECT/MYPROJECT.theme 中编写它们,但它们不运行
为 ADMIN 编写的预设函数在哪里而不是普通函数?
在从 ADMIN 保存之前,我需要操作内容类型(人)。
我需要在标题中保存姓名+姓氏
我知道应该使用presave 函数(hook_node_presave
或)。hook_entity_presave
我的问题是这些函数应该写在哪里?
我在主题/自定义/MYPROJECT/MYPROJECT.theme 中编写它们,但它们不运行
为 ADMIN 编写的预设函数在哪里而不是普通函数?
您可以将您的钩子放在模块的 .module 文件中。您应该为此创建一个自定义模块,示例如下:
在modules/custom
创建一个{PROJECT_NAME}_general
现在称为 MODULE_NAME 的新文件夹)并添加 2 个文件:{MODULE_NAME}.info.yml
和{MODULE_NAME}.module
在 .info.yml 文件中,您只需放置一些有关您的自定义模块的信息,例如:
name: Name of your module
type: module
description: Description of your custom module
core: 8.x
package: Custom
现在您可以使用 drush ( drush en MODULE_NAME -y
) 或使用管理菜单中的“扩展”来启用您的模块。
最后将您的钩子添加到 .module 文件并编写所需的代码。
您还可以在此处和此处找到所有这些信息
希望这可以帮助你!