function cck_table_field_formatter in CCK Table Field 5
Implementation of hook_field_formatter().
File
- ./
cck_table.module, line 72 - Defines a field type that outputs data in a table.
Code
function cck_table_field_formatter($field, $item, $formatter, $node) {
if (!isset($item['value'])) {
return '';
}
switch ($formatter) {
case 'default':
$data = $item['value'];
}
if (!empty($data)) {
$header = array();
$rows = array();
$lines = explode("\n", $data);
$lines = array_map('trim', $lines);
$lines = array_filter($lines, 'strlen');
foreach ($lines as $line) {
$cells = explode('|', $line);
if (count($header) == 0 && count($lines) > 1) {
$header = $cells;
}
else {
$rows[] = $cells;
}
}
if (count($rows) > 0) {
$attributes = array();
if (!empty($field['css_id'])) {
$attributes['id'] = $field['css_id'] . '-' . $node->nid;
}
if (!empty($field['css_class'])) {
$attributes['class'] = $field['css_class'];
}
return theme('table', $header, $rows, $attributes);
}
}
}