Views: Tabellenansicht themen?
am 24.03.2008 - 12:32 Uhr in
Ich versuche, einen View mit Tabellenansicht zu themen. Mein View ist eine Ansicht von Subscribern einer (OG) Gruppe mit erweiterten Angaben wie Adresse und Tel/Fax/Mail etc. Die Felder sind normale Profilfelder. Diese stehen Views zur Verfügung, weil usernode installiert ist. Nach langem Probieren bin ich ganz stolz, dass zu jeder Gruppe automatisch eine Subscriberliste erstellt wird. Allerdings hat die Tabelle recht viele Felder, weshalb die Tabelle viel zu lang wird. Deswegen möchte ich etwas gruppieren, also z.B. Straße/PLZ/Ort in eine Spalte und die verschiedenen Tel/Fax/Handy-Nummern in eine Spalte.
Habe folgenden Code gefunden, der wohl bei verschiedenen Leuten geholfen hat. Was ich hinkriege, ist im Header was zu ändern, d.h. Spaltenüberschrift und class. Was nicht klappt ist die Ausgabe der Felder. Habe verschiedenes ausprobiert und verstehe nicht, warum es nicht geht. Liegt es daran, dass Profilfelder anders sind als andere Felder?
Ich habe den Code so verstanden, dass ich an der Stelle case 'field_date_value':
mein Feld einfüge, also so: case 'profile_ort_value':
. Hat jemand ne Idee?
Ich würde das soooo gern hinkriegen, mehrere Tage habe ich nach einer Lösung gesucht und möchte - sollte ich jemals die richtige Lösung finden - eine Handbuchseite dazu schreiben, weil diese Art Funktionalität bzw. Darstellung von Gruppen-Subscribern sicher für viele nützlich sein kann.
function mytheme_views_view_table_upcoming($view, $nodes, $type) {
// Format the header
$header = array();
$cell['data'] = 'Date';
$cell['class'] = 'shows-date';
$header[] = $cell;
$cell['data'] = 'Location';
$cell['class'] = 'shows-location';
$header[] = $cell;
$cell['data'] = 'Show Information';
$cell['class'] = 'shows-description';
$header[] = $cell;
$fields = _views_get_fields();
foreach ($nodes as $node) {
$row = array();
$show_href ='';
foreach ($view->field as $field) {
if ($fields[$field['id']]['visible'] !== FALSE) {
switch ($field['field']) {
case 'field_date_value':
$cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);
$cell['class'] = 'shows-date';
$row[] = $cell;
break;
case 'field_location_value':
$cell['data'] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);
$cell['class'] = 'shows-location';
$row[] = $cell;
break;
case 'field_link_url':
$show_href = $node->$field['queryname'];
break;
case 'title':
if ($show_href != '') {
$cell['data'] = '<h3>' . l(views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view), $show_href, array('target' => 'blank'), NULL, NULL, FALSE, FALSE) . "</h3>\n";
} else {
$cell['data'] = '<h3>' . views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view) . "</h3>\n";
}
$cell['class'] = 'shows-description';
break;
case 'body':
$cell['data'] .= views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view);
$row[] = $cell;
}
//$cell['data'] = $field['field'] . ': ' . $node->$field['queryname'];
//$cell['class'] = "view-field ". views_css_safe('view-field-'. $field['queryname']);
//$row[] = $cell;
}
}
$rows[] = $row;
}
return theme('table', $header, $rows, array('class' => 'show-table'));
}
- Anmelden oder Registrieren um Kommentare zu schreiben
*stups* Ich weiß ja, dass
am 24.03.2008 - 21:02 Uhr
*stups*
Ich weiß ja, dass es umfangreich ist und natürlich auch wenige, die gerade hier sind, wissen könnten wie's gehen könnte... Aber vielleicht findet sich ja doch noch jemand, der mal nen Blick drauf wirft? Mir reicht auch ein "geht nicht", aber das wäre erst mal gut zu wissen...
Bittebitte? :-)
undpaul
Longevity Insights from Top Health Podcasts