在哪里放置预保存功能?
Where to place presave functions?
我需要在从 ADMIN 保存之前操作内容类型(人物)。
我需要在标题中保存名字+姓氏
我知道应该使用预保存功能(hook_node_presave
或 hook_entity_presave
)。
我的问题是这些函数应该写在哪里?
我在主题/自定义/MYPROJECT/MYPROJECT.theme中编写它们,但它们没有运行
为管理员编写的预设函数在哪里,而不是普通函数?
您可以将钩子放在模块的 .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
) 或使用管理菜单中的 "extend" 启用您的模块。
最后将你的钩子添加到 .module 文件并编写所需的代码。
希望对您有所帮助!
我需要在从 ADMIN 保存之前操作内容类型(人物)。
我需要在标题中保存名字+姓氏
我知道应该使用预保存功能(hook_node_presave
或 hook_entity_presave
)。
我的问题是这些函数应该写在哪里?
我在主题/自定义/MYPROJECT/MYPROJECT.theme中编写它们,但它们没有运行
为管理员编写的预设函数在哪里,而不是普通函数?
您可以将钩子放在模块的 .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
) 或使用管理菜单中的 "extend" 启用您的模块。
最后将你的钩子添加到 .module 文件并编写所需的代码。
希望对您有所帮助!