function theme_content_multigroup_display_table_multiple in Content Construction Kit (CCK) 6.3
Theme a multigroup in 'table-multiple' format.
Each subgroup has its own table row with a separate cell for each field. No output is generated if all fields are empty.
File
- modules/
content_multigroup/ content_multigroup.node_view.inc, line 214 - Implementation of node view functions for content multigroup.
Code
function theme_content_multigroup_display_table_multiple($element) {
$headers = array();
foreach ($element['#fields'] as $field_name => $field) {
$label_display = isset($field['display_settings']['label']['format']) ? $field['display_settings']['label']['format'] : 'above';
$headers[] = array(
'data' => $label_display != 'hidden' ? check_plain(t($field['widget']['label'])) : '',
'class' => 'content-multigroup-cell-' . str_replace('_', '-', $field_name),
);
}
$rows = array();
foreach (element_children($element) as $delta) {
$cells = array();
$empty = TRUE;
foreach ($element['#fields'] as $field_name => $field) {
$item = drupal_render($element[$delta][$field_name]);
$cells[] = array(
'data' => $item,
'class' => $element[$delta]['#attributes']['class'] . ' content-multigroup-cell-' . str_replace('_', '-', $field_name),
);
if (!empty($item)) {
$empty = FALSE;
}
}
// Get the row only if there is at least one non-empty field.
if (!$empty) {
$rows[] = $cells;
}
}
return count($rows) ? theme('table', $headers, $rows, $element['#attributes']) : '';
}