- Patch #160395 by dvessel and merlinofchaos: allow theme engine to register theme variable functions.

6.x
Dries Buytaert 2007-09-01 05:35:15 +00:00
parent 3a7d307845
commit ff61e73a30
1 changed files with 11 additions and 4 deletions

View File

@ -278,11 +278,18 @@ function _theme_process_registry(&$cache, $name, $type, $theme, $path) {
}
}
if (function_exists($prefix .'_preprocess')) {
$info['preprocess functions'][] = $prefix .'_preprocess';
// Let the theme engine register theme specific variable functions.
$prefixes[] = $prefix;
if ($type == 'theme_engine') {
$prefixes[] = $theme;
}
if (function_exists($prefix .'_preprocess_'. $hook)) {
$info['preprocess functions'][] = $prefix .'_preprocess_'. $hook;
foreach ($prefixes as $prefix) {
if (function_exists($prefix .'_preprocess')) {
$info['preprocess functions'][] = $prefix .'_preprocess';
}
if (function_exists($prefix .'_preprocess_'. $hook)) {
$info['preprocess functions'][] = $prefix .'_preprocess_'. $hook;
}
}
}
if (isset($cache[$hook]['preprocess functions']) && is_array($cache[$hook]['preprocess functions']) && empty($cache[$hook]['override preprocess functions'])) {