Returns the entity view mode info.
string|null $entity_type: The entity type whose view mode info should be returned, or NULL for all view mode info. Defaults to NULL.
array The view mode info for a specific entity type, or all entity types.
function entity_get_view_modes($entity_type = NULL) {
$view_modes =& drupal_static(__FUNCTION__);
if (!$view_modes) {
$langcode = language(Language::TYPE_INTERFACE)->langcode;
if ($cache = cache()
->get("entity_view_mode_info:{$langcode}")) {
$view_modes = $cache->data;
}
else {
$view_modes = array();
foreach (entity_load_multiple('view_mode') as $view_mode) {
list($view_mode_entity_type, $view_mode_name) = explode('.', $view_mode
->id(), 2);
$view_modes[$view_mode_entity_type][$view_mode_name] = (array) $view_mode;
}
drupal_alter('entity_view_mode_info', $view_modes);
cache()
->set("entity_view_mode_info:{$langcode}", $view_modes, CacheBackendInterface::CACHE_PERMANENT, array(
'entity_info' => TRUE,
));
}
}
if (empty($entity_type)) {
return $view_modes;
}
elseif (isset($view_modes[$entity_type])) {
return $view_modes[$entity_type];
}
return array();
}