view_mode_templates.module in View Mode Templates 7
Templates for Entity View Modes
File
view_mode_templates.moduleView source
<?php
/**
* @file
* Templates for Entity View Modes
*/
/**
* Implements hook_theme().
*/
function view_mode_templates_theme() {
$theme_functions = array();
// View mode templates
$templates = _view_mode_templates();
foreach ($templates as $template => $module) {
$theme_functions[$template] = array(
'render element' => 'elements',
'template' => strtr($template, '_', '-'),
'path' => drupal_get_path('module', $module) . '/templates',
);
}
return $theme_functions;
}
/**
* Implements hook_preprocess().
*/
function view_mode_templates_preprocess(&$variables, $hook) {
if (array_key_exists($hook, entity_get_info())) {
$entity_type = $variables['elements']['#entity_type'];
$bundle = $variables['elements']['#bundle'];
$view_mode = $variables['elements']['#view_mode'];
$variables['theme_hook_suggestions'][] = $entity_type . '__' . $bundle . '__' . $view_mode;
$variables['theme_hook_suggestions'][] = $entity_type . '__' . $bundle;
$variables['theme_hook_suggestions'][] = $entity_type . '__' . $view_mode;
}
}
/**
* Returns a list of view mode templates
*/
function _view_mode_templates() {
$templates = array();
foreach (module_implements('view_mode_templates') as $module) {
$module_templates = module_invoke($module, 'view_mode_templates');
foreach ($module_templates as $template) {
$templates[$template] = $module;
}
}
return $templates;
}
Functions
Name![]() |
Description |
---|---|
view_mode_templates_preprocess | Implements hook_preprocess(). |
view_mode_templates_theme | Implements hook_theme(). |
_view_mode_templates | Returns a list of view mode templates |