function grid_field_formatter_field_attach_view_alter in Grid Field Formatter 7
Implements hook_field_attach_view_alter().
File
- ./
grid_field_formatter.module, line 150 - Module that gives you a field formatter, which enables field layout with Grid contents to a destination.
Code
function grid_field_formatter_field_attach_view_alter(&$output, $context) {
foreach (element_children($output) as $field_name) {
$enabled_field_formatter = array();
$enabled_field_formatter = grid_field_formatter_get_enabled_field_formatter();
$element = $output[$field_name];
$instance = field_info_instance($element['#entity_type'], $field_name, $element['#bundle']);
$display = isset($instance['display'][$context['view_mode']]) ? $instance['display'][$context['view_mode']] : $instance['display']['default'];
$settings = $display['settings'];
$type = $display['type'];
$field = field_info_field($field_name);
// Continue when no Grid Field Formatter settings were found.
if (!isset($settings['grid_field_formatter']) || empty($settings['grid_field_formatter']['grid_enable']) || !in_array($type, $enabled_field_formatter)) {
continue;
}
// Override field theme with grid_field_formatter.
$output[$field_name]['#theme'] = 'grid_field_formatter';
// Columns is a property so it should start with a #, see drupal_render.
$output[$field_name]['#columns'] = isset($settings['grid_field_formatter']['columns']) ? $settings['grid_field_formatter']['columns'] : 1;
}
}