diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php index 8e1cdb6..1d9978f 100644 --- a/core/lib/Drupal/Core/Extension/ModuleHandler.php +++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php @@ -242,6 +242,9 @@ public function resetImplementations() { * Implements \Drupal\Core\Extension\ModuleHandlerInterface::implementsHook(). */ public function implementsHook($module, $hook) { + if (!isset($this->moduleList[$module])) { + return FALSE; + } $function = $module . '_' . $hook; if (function_exists($function)) { return TRUE; diff --git a/core/modules/node/node.module b/core/modules/node/node.module index eb56876..a7e340c 100644 --- a/core/modules/node/node.module +++ b/core/modules/node/node.module @@ -880,7 +880,14 @@ function node_rdf_mapping() { */ function node_hook($type, $hook) { $base = node_type_get_base($type); - return module_hook($base, $hook) ? $base . '_' . $hook : FALSE; + $function = $base . '_' . $hook; + if (module_hook($base, $hook)) { + return $function; + } + if ($base == 'node_content' && function_exists($function)) { + return $function; + } + return FALSE; } /**