Rangliste erstellen
am 17.05.2010 - 15:30 Uhr in
Hallo,
ich bin totaler Anfänger in Drupal und möchte für den Anfang eine einfache Rangliste erstellen (CCK ist installiert).
Ich habe dafür einen Inhaltstyp "Rangliste" angelegt mit den Feldern Rang (Ganzzahl), Name (Text) und Punkte (Ganzzahl). Für den Anfang möchte ich nur die Rangliste anzeigen lassen ohne irgendwelchen zusätzlichen Text.
Jetzt habe ich einen Beitrag erstellt und diesen mit Werten gefüllt. Allerdings zeigt mir Drupal jetzt alles untereinander an.
Position:
1.
2.
3.
4.
5.
Name:
Spieler 1
Spieler 2
Spieler 3
Spieler 4
Spieler 5
Punkte:
1000
900
800
700
600
Wie schaffe ich es jetzt, dass die Daten nebeneinander stehen?
Und wie kann ich verschiedene Sortierkriterien vergeben? Also wahlweise nach Position, Name bzw. Punkte sortieren?
Gibt es für Ranglisten vielleicht ein spezielles Modul, das ich verwenden kann?
Vielen Dank schon im voraus für eure Hilfe :)
Gruß,
Cujo
- Anmelden oder Registrieren um Kommentare zu schreiben

Das ist mal wieder eine
am 18.05.2010 - 16:25 Uhr
Das ist mal wieder eine typische Frage nach Datenstrukturen.
Du baust mit CCK einen Datentyp Wertung (oder was Du sonst willst). Der hat die 3 Felder Position, Name und Punkte, wobei Du Dir die Position schenken kannst, da die sich durch die Anzeige ergibt. Mit Views alle Einträge von Typ Wertung in einer Tabelle ausgeben lassen und nach dem Punktestand sortieren (dann hast Du die Rangordnung). Evtl auf 5 begrenzen, wenn Du nur 5 zeigen willst.
Beste Grüße
Werner
Weltrangliste
am 19.05.2010 - 15:31 Uhr
Ich habe jetzt einen Datentyp "Weltrangliste" mit den Feldern "Name" und "Punkte" angelegt. Dann habe ich unter Views eine Ansicht "Weltrangliste" angelegt und dieser die Felder "Name", "Name-delta", "Punkte" und "Punkte-delta" zugeordnet. Bei den Basiseinstellungen habe ich die Darstellung "Tabelle" verwendet. Trotzdem wird weiterhin alles untereinander angezeigt. Woran kann denn das noch liegen?
Ich habe mal einen Screenshot von der Views-Ansicht gemacht
Die Deltas wirst Du nicht
am 19.05.2010 - 15:52 Uhr
Die Deltas wirst Du nicht brauchen bei deiner Anwendung, aber ein Screenshot von der Ausgabe wäre ganz Hilfreich oder ein Url, wo man sich das mal ansehen kann. Was mir auffällt, Du hast kein Sortierkriterium. Dort müßtest Du nach dem Feld Punkte absteigend sortieren.
Beste Grüße
Werner
Weltrangliste
am 19.05.2010 - 17:28 Uhr
Die Deltas habe ich rausgeschmissen.
Die Ausgabe sieht so aus:
Die Domain ist -> Weltrangliste
Im Moment können Gäste allerdings noch nicht lesen. Keine Ahnung woran das liegt.
Deine Liste sieht nicht aus ,
am 19.05.2010 - 18:22 Uhr
Deine Liste sieht nicht aus , als würde sie aus einem Block stammen, sondern aus einem Node.
Hast Du wirklich einzelne Nodes für jedes Land erstellt ?
Scheint mir eher nur ein Node mit Multifeldern für Land und Punkte zu sein.
Weltrangliste
am 20.05.2010 - 01:29 Uhr
Okay, ich habe es jetzt so hingekriegt, wie ich es wollte :)
2 Probleme habe ich aber noch:
1. Ich kann die Klick-Sortierung nicht aktivieren
Wenn ich bei den Basiseinstellungen (Standards oder Seite) bei Darstellung:Tabelle auf das Zahnrad klicke, kann ich die Sortierung nicht einstellen:
2. Wenn ich mir die Ranglisten als Gast ansehen will, erscheint folgende Fehlermeldung:
warning: Invalid argument supplied for foreach() in /www/htdocs/w00b6843/weltrangliste/sites/all/modules/views/theme/views-view-table.tpl.php on line 24.
Als Admin wird alles einwandfrei angezeigt. Ich habe schon mal bei Google nach der Fehlermeldung gesucht. Es scheint was mit den Rechten zu tun zu haben. Aber woran es genau liegt, konnte ich nicht herausfinden.
Weiß einer, wie ich diese beiden Probleme lösen kann?
1 Land = 1 Node?
am 20.05.2010 - 06:08 Uhr
Okay, ich habe es jetzt so hingekriegt, wie ich es wollte :)
Hast Du es denn jetzt auch So gemacht, wie dir das Micha1111 geraten hat?
Hast Du wirklich einzelne Nodes für jedes Land erstellt ?
Verstehe ich das richtig,
am 20.05.2010 - 10:26 Uhr
Verstehe ich das richtig, dass ich einen Inhaltstyp "Weltrangliste" erstellen soll und dort für jedes Land ein Feld anlegen soll? Und für die Punkte brauche ich dann kein extra Feld?
Und wie ist das, wenn ich z. B. eine Tennis-Weltrangliste erstellen will, die ja aus Name, Land und Punkten besteht? Wie kann ich dann das Land dem Namen zuordnen?
Ich dachte eigentlich, dass das was ich vorhabe eine ziemlich simple Sache ist. Scheint aber wohl nicht so zu sein :(
Das wird nicht so schwierig...
am 20.05.2010 - 11:54 Uhr
Also zuerst must Du dir über die Datenstruktur klar werden. Das ist beim Fussball nicht die Selbe wie beim Tennis. Also Mannschaften sind keine Einzelkämpfer. Somit müsste man jetzt wissen, welche art von Weltranglisten du machen möchtest, dann kann man dir anhand dieses Beispiels aufzeigen, wie Du vorgehen solltest.
Der Gedanke ist, dass ich
am 20.05.2010 - 12:04 Uhr
Der Gedanke ist, dass ich eine Seite machen möchte mit verschiedenen Weltranglisten. Wenn ich das richtig verstanden habe, muss ich da wohl für jede Weltrangliste einen extra Datentyp definieren. Vielleicht erklärst du es mir am besten anhand einer Tennis-Weltrangliste, also mit Rang, Name, Land und Punkte.
Wäre echt nett von dir :)
Weitere Informationen benötigt
am 20.05.2010 - 13:46 Uhr
Wozu soll die Information über das Land beim Tennis dienen?
In allen Fällen solltest Du einen Inhaltstyp "Spieler" erstellen. Der dann die benötigten Felder für die von dir genannten Informationen beinhaltet.
Weiter ist da noch die Frage wie willst Du die Aktualisierung vornehmen?
Diese Variantewird dann etwas schwieriger, da weitere Berechnungen nötig sind.
r4s6 schrieb Wozu soll die
am 20.05.2010 - 14:17 Uhr
Wozu soll die Information über das Land beim Tennis dienen?
Ja, das Land soll nur als Filtermöglichkeit dienen.
In allen Fällen solltest Du einen Inhaltstyp "Spieler" erstellen. Der dann die benötigten Felder für die von dir genannten Informationen beinhaltet.
Ich habe jetzt einen Inhaltstyp Spieler angelegt, der die Felder Name, Land und Punkte beinhaltet.
Weiter ist da noch die Frage wie willst Du die Aktualisierung vornehmen?
Ja, so wäre es mir am liebsten
Dann weiter...
am 20.05.2010 - 14:58 Uhr
Jetzt legst Du für jeden Spieler 1 Node dieses Inhaltstyps an. Das heisst es gibt in jedem Feld nur genau 1 Wert.
Also: > Inhalt erstellen > Spieler für jeden Spieler einzel.
Wenn die Datensätze (Nodes) erfasst sind, gehts weiter zu den Views.
Nachtrag (Exkurs):
Für den Namen des Spielers kannst Du auch das Feld Titel verwenden. Ich habe das bei mir sogelöst, dass ich je ein Feld für den Vornamen und den Nachmanen erstellt habe und den Titel mit Automatic Nodetitle berechnen lasse.
r4s6 schrieb Jetzt legst Du
am 20.05.2010 - 15:43 Uhr
Jetzt legst Du für jeden Spieler 1 Node dieses Inhaltstyps an. Das heisst es gibt in jedem Feld nur genau 1 Wert.
Also: > Inhalt erstellen > Spieler für jeden Spieler einzel.
Wenn die Datensätze (Nodes) erfasst sind, gehts weiter zu den Views.
Ich habe jetzt 10 Spieler angelegt und jeweils die Punktezahl eingegeben
Für den Namen des Spielers kannst Du auch das Feld Titel verwenden. Ich habe das bei mir sogelöst, dass ich je ein Feld für den Vornamen und den Nachmanen erstellt habe und den Titel mit Automatic Nodetitle berechnen lasse
Ich habe jetzt auch Automatic Nodetitle installiert und Vorname und Nachname getrennt. Wie erstelle ich denn jetzt den Autotitel? Ich habe einfach die Feldnamen eingetragen, aber das funktioniert nicht :(
Hätte ich wohl besser nicht erwähnt.
am 20.05.2010 - 20:40 Uhr
Nun eigentlich wollte ich dir zwar noch weitere Möglichkeiten erläutern, nun jetzt muss ich da halt durch...
So sieht das bei mir aus, das Funktioniert aber glaube ich nur, wenn du auch Token installierst und aktivierst. Übrigens, wenn Du die Rubrik Ersetzungsmuster aufklappst siehst Du noch mehr Möglichkeiten.
Nun gut wenn das funktioniert dann kannst Du mal versuchen eine View zu erstellen.
Weltrangliste
am 20.06.2010 - 16:35 Uhr
Ich habe mich jetzt entschieden, das Projekt mit Wordpress umzusetzen -> Weltrangliste. Aber ich bedanke mich trotzdem für die freundliche Hilfe hier. Vielleicht kann ich Drupal ja mal für ein anderes Projekt einsetzen :)