function theme_noderelationships_formatter_default in Node Relationships 6
Field formatter for back references view.
File
- ./
noderelationships.pages.inc, line 214 - Implementation of user land pages.
Code
function theme_noderelationships_formatter_default($element) {
// Check if we have a node here. We should.
if (empty($element['#node']) || empty($element['#node']->nid)) {
return '';
}
// Load back reference field data.
$field = content_fields($element['#field_name'], $element['#type_name']);
if (empty($field['referrer_field']) || empty($field['referrer_type'])) {
return '';
}
// Include common module functions.
module_load_include('inc', 'noderelationships');
// Obtain back reference settings for this type.
$backref_settings = noderelationships_settings_load($element['#type_name'], 'backref');
$backref_regions = $backref_settings['regions'];
if (empty($backref_regions[NODERELATIONSHIPS_BACKREF_REGION_FIELD])) {
return '';
}
// Check we really have relation information.
$region_settings = $backref_regions[NODERELATIONSHIPS_BACKREF_REGION_FIELD];
if (empty($region_settings[$field['referrer_type'] . ':' . $field['referrer_field']])) {
return '';
}
$relation_info = $region_settings[$field['referrer_type'] . ':' . $field['referrer_field']];
// Build the context structure and render the back reference view.
$context = array(
'region_settings' => $region_settings,
'referred_node' => $element['#node'],
'referred_type' => noderelationships_get_localized_content_type($element['#type_name']),
'referrer_type' => noderelationships_get_localized_content_type($field['referrer_type']),
'field_name' => $field['referrer_field'],
);
return noderelationships_backref_render_view($relation_info['back_reference_view'], $context, FALSE);
}