_theme_build_registry
includes/theme.inc, строка 393
- Версии
- 6
_theme_build_registry($theme, $base_theme, $theme_engine)
Rebuild the hook theme_registry cache.
Параметры
$theme
The loaded $theme
object.
$base_theme
An array of loaded $theme
objects representing the ancestor themes in
oldest first order.
theme_engine The name of the theme engine.
Код
<?php
function _theme_build_registry($theme, $base_theme, $theme_engine) {
$cache = array();
// First, process the theme hooks advertised by modules. This will
// serve as the basic registry.
foreach (module_implements('theme') as $module) {
_theme_process_registry($cache, $module, 'module', $module, drupal_get_path('module', $module));
}
// Process each base theme.
foreach ($base_theme as $base) {
// If the base theme uses a theme engine, process its hooks.
$base_path = dirname($base->filename);
if ($theme_engine) {
_theme_process_registry($cache, $theme_engine, 'base_theme_engine', $base->name, $base_path);
}
_theme_process_registry($cache, $base->name, 'base_theme', $base->name, $base_path);
}
// And then the same thing, but for the theme.
if ($theme_engine) {
_theme_process_registry($cache, $theme_engine, 'theme_engine', $theme->name, dirname($theme->filename));
}
// Finally, hooks provided by the theme itself.
_theme_process_registry($cache, $theme->name, 'theme', $theme->name, dirname($theme->filename));
// Let modules alter the registry
drupal_alter('theme_registry', $cache);
return $cache;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии