在哪里放置预压功能?

时间:2017-06-13 11:06:52

标签: drupal-8 drupal-nodes drupal-preprocess

我需要在从ADMIN中保存之前操作内容类型(人)。

我需要在标题中保存姓名+姓氏

我知道应该使用presave函数(hook_node_presavehook_entity_presave)。

我的问题是这些函数应该写在哪里?

我在主题/ custom / MYPROJECT / MYPROJECT.theme中写它们但是它们没有运行

为ADMIN使用而不是使用普通函数编写的预设函数在哪里?

1 个答案:

答案 0 :(得分:1)

您可以将钩子放在模块的.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文件并编写所需的代码。

您还可以找到所有这些信息herehere

希望这会帮助你!