Ranglisten bei Views: Nummerierung
Eingetragen von Phoenix2020 (28)
am 20.12.2007 - 17:41 Uhr in
am 20.12.2007 - 17:41 Uhr in
Mit Views kann man ja gut Ranglisten oder TOP 10 Listen erstellen (z.B. meistgelesene Artikel).
Ich suche nun nach einer Lösung, wie man diese Listen durchnummerieren kann.
Also:
1. Artikel 12
2. Artikel 38
3.
4.
5.
6.
7.
8.
9.
10.
Wie gesagt, ich bekommen alles hin. Bis eben auf das 1., 2., 3., ... am Anfang der Tabellenzeile.
- Anmelden oder Registrieren um Kommentare zu schreiben
vielleicht gibts ne
am 23.12.2007 - 14:18 Uhr
Vielleicht gibts ne einfachere Lösung, aber die hier wird funktionieren:
Erstelle mit dem Views "Theme wizard" ein theme für deinen view. css, tpl.php Files plus Eintrag in der template.php
Bei dem template.php Eintrag steht
theme_item_list($items);
am Ende. Das nennst du um indeine_nummerierte_liste($items);
. Dann nimmst du einfach die Funktion theme_item_list und übershreibst sie ebenfalls in der template.php (http://api.drupal.org/api/function/theme_item_list/5), nennst sie um in "deine_nummerierte_liste" und änderst $type = 'ul' in $type = 'ol' ....so schaut die funktion dann aus:
function deine_nummerierte_liste($items = array(), $title = NULL, $type = 'ol', $attributes = NULL) {
$output = '<div class="item-list">';
if (isset($title)) {
$output .= '<h3>'. $title .'</h3>';
}
if (!empty($items)) {
$output .= "<$type" . drupal_attributes($attributes) . '>';
foreach ($items as $item) {
$attributes = array();
$children = array();
if (is_array($item)) {
foreach ($item as $key => $value) {
if ($key == 'data') {
$data = $value;
}
elseif ($key == 'children') {
$children = $value;
}
else {
$attributes[$key] = $value;
}
}
}
else {
$data = $item;
}
if (count($children) > 0) {
$data .= theme_item_list($children, NULL, $type, $attributes); // Render nested list
}
$output .= '<li' . drupal_attributes($attributes) . '>'. $data .'</li>';
}
$output .= "</$type>";
}
$output .= '</div>';
return $output;
}
» forward-media.de Drupal Entwicklung | Drupal Tutorials