Fivestarextra Bewertungen für User im eigenen Modul nutzen

am 05.01.2010 - 17:16 Uhr in
Hallo zusammen,
ich sammele gerade meine ersten Erfahrungen bei der Modulentwicklung von Drupal.
Jetzt habe ich eine Frage, bei der mir meine Bücher leider auch nicht weiterhelfen.
Ich liste derzeit mit einer bestimmten SQL-Abfrage verschiedene User nach einem bestimmten Schema auf und gebe diese in einem Block aus.
Nun möchte ich, dass direkt hinter den Namen der User deren Fivestarextra Bewertung zu sehen ist.
Wie kann ich dies umsetzen? Wie lautet die API um die Fivestarbewertungen statisch abzurufen und im content darzustellen?
Ich habe das jetzt mal so versucht, bekomme aber keine Bewertungen angezeigt, sondern nur die Usernamen :-(
$abfrage = "SELECT name, users.uid FROM users JOIN profile_values etc..... ";
$ergebnis = db_query($abfrage);
while($row = db_fetch_object($ergebnis))
{
echo "$row->name<br>";
$node->content['fivestarextra']['widget'] = array(
'#type' => 'user_profile_item',
'#title' => t('Your Rating:'),
'#value' => fivestar_static('user', $row->uid),
);
}
Mit CCK und Views kam ich hier leider auch nicht weiter. Am liebsten würde ich das ganze eh per Code umsetzen.
Viele Grüße
tick313
- Anmelden oder Registrieren um Kommentare zu schreiben
fivestar
am 07.01.2010 - 01:40 Uhr
Nutze die vorhandenen Funktionen aus dem Modul fivestar.
Die Anzahl der Votes holst Du Dir über die Funktion
fivestar_get_votes()
. Ausgeben kannst Du die Sternchen dann über<?php
print theme('fivestar_static', $value, $num_stars);
?>
$value
ein Wert zwischen 0 und 100 ist (80 == 4 Sterne).hth,
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
super, vielen Dank
am 07.01.2010 - 03:05 Uhr
super, vielen Dank Stefan.
Damit kann ich die Sterne auf dem Bildschirm sehen :-)
Leider weiß ich nicht genau, wie ich die Abfrage mit fivestar_get_votes richtig mache.
$ratings = fivestar_get_votes('user', $row->uid);
print theme('fivestar_static', $ratings->value, 5);
Hier bekomme ich immer $ratings->value=0.
Gibt es irgendwo ein leicht verständliches Tutorial über das Thema.
Insgesamt möchte ich nämlich folgendes realisieren:
-Ich habe zwei verschiedene Userrollen: Typ1 und Typ2
-Beide können miteinander in Kontakt treten, sodass hierfür in der Datenbank eine bestimmte Session-ID angelegt wird
-Typ1 soll dann Typ2 einmalig für die Session bewerten können
-Ansonsten darf keiner den anderen bewerten
-Später möchte ich noch eine Kommentarfunktion hinzufügen
Im Prinzip soll die Bewertung ablaufen, wie bei Ebay. Nur das hierbei die Bewertung nur in eine Richtung laufen soll. Also bspw. nur Käufer den Verkäufer bewerten.
Hat jemand eine Idee, wie ich das am besten angehe, und wo ich dazu vielleicht noch Literatur finde?
Grüße
tick313