Ось функція, яка дозволяє динамічно додавати нові. Він також викликає відповідну функцію попередньої обробки, якщо у вас є заявлена.
Потім зателефонуйте, drush cache-clear theme-registry
щоб він працював.
Щоб використовувати його, замініть ТЕМУ на ім'я вашої теми та помістіть її у своєму файлі теми template.php.
наприклад, для теми з назвою Droid ви б назвали її droid_preprocess_node(&$variables, $hook) {
...
function THEME_preprocess_node(&$variables, $hook) {
$view_mode = $variables['view_mode'];
$content_type = $variables['type'];
$variables['theme_hook_suggestions'][] = 'node__' . $view_mode;
$variables['theme_hook_suggestions'][] = 'node__' . $view_mode . '_' . $content_type;
$view_mode_preprocess = 'THEME_preprocess_node_' . $view_mode . '_' . $content_type;
if (function_exists($view_mode_preprocess)) {
$view_mode_preprocess($variables, $hook);
}
$view_mode_preprocess = 'THEME_preprocess_node_' . $view_mode;
if (function_exists($view_mode_preprocess)) {
$view_mode_preprocess($variables, $hook);
}
}