On this page
public function Registry::getBaseHook
public Registry::getBaseHook($hook)
Returns the base hook for a given hook suggestion.
Parameters
string $hook: The name of a theme hook whose base hook to find.
Return value
string|false The name of the base hook or FALSE.
File
- core/lib/Drupal/Core/Theme/Registry.php, line 263
Class
- Registry
- Defines the theme registry service.
Namespace
Drupal\Core\ThemeCode
public function getBaseHook($hook) {
$this->init($this->themeName);
$base_hook = $hook;
// Iteratively strip everything after the last '__' delimiter, until a
// base hook definition is found. Recursive base hooks of base hooks are
// not supported, so the base hook must be an original implementation that
// points to a theme function or template.
while ($pos = strrpos($base_hook, '__')) {
$base_hook = substr($base_hook, 0, $pos);
if (isset($this->registry[$base_hook]['exists'])) {
break;
}
}
if ($pos !== FALSE && $base_hook !== $hook) {
return $base_hook;
}
return FALSE;
}
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Theme!Registry.php/function/Registry::getBaseHook/8.1.x