function noderelationships_get_backref_view_overrides in Node Relationships 6
Get overrides for back reference views.
Parameters
$view:
$referrer_field:
See also
noderelationships_customize_backref_view()
1 call to noderelationships_get_backref_view_overrides()
- noderelationships_customize_backref_view in ./
noderelationships.inc - Apply custom configuration to the given back reference view.
File
- ./
noderelationships.inc, line 841 - Common functions for the noderelationships module.
Code
function noderelationships_get_backref_view_overrides($view, $referrer_field) {
// Obtain database and views information about the field.
if (!function_exists('content_views_field_views_data')) {
module_load_include('inc', 'content', 'includes/views/content.views');
}
$module = $referrer_field['module'];
$views_data = module_invoke($module, 'field_settings', 'views data', $referrer_field);
$table_alias = content_views_tablename($referrer_field);
$db_info = content_database_info($referrer_field);
$nodereference_column = $db_info['columns']['nid']['column'];
$view_overrides = array();
// Build relationship overrides.
$view_overrides['relationships'] = array(
$nodereference_column => array(
'label' => $views_data[$table_alias][$nodereference_column]['relationship']['label'],
'id' => $nodereference_column,
'table' => $table_alias,
'field' => $nodereference_column,
'required' => 1,
'delta' => -1,
'relationship' => 'none',
),
);
$existing_view_relationships = $view->display_handler
->get_option('relationships');
if (!empty($existing_view_relationships)) {
$view_overrides['relationships'] = array_merge($view_overrides['relationships'], $existing_view_relationships);
}
// Build argument overrides.
$common_argument_options = array(
'default_action' => 'empty',
'default_argument_type' => 'fixed',
'default_argument' => '',
'validate_type' => 'none',
'validate_fail' => 'not found',
'relationship' => 'none',
);
$view_overrides['arguments'] = array(
$nodereference_column => array_merge($common_argument_options, array(
'id' => $nodereference_column,
'table' => $table_alias,
'field' => $nodereference_column,
)),
'type' => array_merge($common_argument_options, array(
'id' => 'type',
'table' => 'node',
'field' => 'type',
)),
);
return $view_overrides;
}