function template_preprocess_entity_property in Entity API 7
Theme preprocess function for theme_entity_property().
See also
File
- theme/
entity.theme.inc, line 58 - Holds entity module's theme functions.
Code
function template_preprocess_entity_property(&$variables, $hook) {
$element = $variables['elements'];
$variables += array(
'theme_hook_suggestions' => array(),
'attributes_array' => array(),
);
// Generate variables from element properties.
foreach (array(
'label_hidden',
'label',
'property_name',
) as $name) {
$variables[$name] = check_plain($element['#' . $name]);
}
$variables['title_attributes_array']['class'][] = 'entity-property-label';
$variables['attributes_array'] = array_merge($variables['attributes_array'], isset($element['#attributes']) ? $element['#attributes'] : array());
$variables['property_name_css'] = strtr($element['#property_name'], '_', '-');
$variables['attributes_array']['class'][] = 'entity-property';
$variables['attributes_array']['class'][] = 'entity-property-' . $variables['property_name_css'];
// Add specific suggestions that can override the default implementation.
$variables['theme_hook_suggestions'] += array(
'entity_property__' . $element['#property_name'],
'entity_property__' . $element['#entity_type'] . '__' . $element['#property_name'],
);
// Populate the content with sensible defaults.
if (!isset($element['#content'])) {
$variables['content'] = entity_property_default_render_value_by_type($element['#entity_wrapped']->{$element['#property_name']});
}
else {
$variables['content'] = $element['#content'];
}
}