function ctools_entity_field_extra_content_type_render
Render the extra field.
File
-
plugins/
content_types/ entity_context/ entity_field_extra.inc, line 101
Code
function ctools_entity_field_extra_content_type_render($subtype, $conf, $panel_args, $context) {
if (empty($context) || empty($context->data)) {
return;
}
// Get a shortcut to the entity.
$entity = clone $context->data;
list($entity_type, $field_name) = explode(':', $subtype, 2);
list($id, $vid, $bundle) = entity_extract_ids($entity_type, $entity);
$langcode = $GLOBALS['language_content']->language;
$function = $entity_type . '_view';
if (in_array($entity_type, array(
'node',
'taxonomy_term',
'user',
)) && function_exists($function)) {
// Call known ENTITY_view() to get the extra field.
$entity->content = $function($entity, $conf['view_mode'], $langcode);
}
else {
// Invoke the view-hook to get the extra field.
$entity->content = array();
module_invoke_all($entity_type . '_view', $entity, $conf['view_mode'], $langcode);
module_invoke_all('entity_view', $entity, $entity_type, $conf['view_mode'], $langcode);
}
if (isset($entity->content[$field_name])) {
// Build the content type block.
$block = new stdClass();
$block->module = 'entity_field_extra';
$block->content = $entity->content[$field_name];
$block->delta = $id;
return $block;
}
}