tak / nie ocena z celem odniesienia do węzła

8

Mam typ zawartości recenzji, który (węzeł) odwołuje się do typu zawartości produktu. Używam pięciu gwiazdek do ogólnej oceny i konkretnych ocen. Dzięki Fivestar mogę uczynić ten produkt „celem głosowania”.

Jedną z ocen jest ocena typu „tak / nie”, w której chcę pokazać agregację w węźle produktu (x% użytkowników oceniło tak).

Próbowałem użyć Fivestar z oceną „1 punkt”, gdzie 1 = tak, 0 = nie, ale problem polega na tym, że 0 głosów nie zostało w ogóle zapisane, dlatego zawsze daje wynik 100%.

Prawdopodobnie mógłbym użyć oceny „2 punkty”, a następnie mieć niestandardowy formatator wyświetlania, który wykona obliczenia matematyczne i przetłumaczy je na prawidłowy%.

Czy są jakieś inne rozwiązania? Nie mogę korzystać z modułu stawek, ponieważ już go używam do ocen „kciuka w górę / w dół”.

uwe
źródło
1
Możesz być w stanie użyć flagi: drupal.org/project/flag
Charlie Schliesser
inną alternatywą byłoby Nodequeue: drupal.org/project/nodequeue
castaway
Flaga będzie dla ciebie idealna drupal.org/project/flag
Matteo,
Tak / nie należy wybrać w formularzu edycji. Użyłem oceny 2 gwiazdek z niestandardowym formatowaniem wyświetlania
uwe

Odpowiedzi:

1

Moduł Oceń pozwala dołączyć kilka widgetów stóp do typu zawartości. Utwórz jeden widget oceny dla kciuków w górę / w dół, a drugi dla tak / nie.

Drupal Commons Dystrybucja z Commons Pytania i odpowiedzi obejmuje zarówno system Like jak i punkty w ten sposób ...

wprowadź opis zdjęcia tutaj

Po dodaniu drugiego widżetu wybierz dołączenie go do tego samego typu (typów) treści. wprowadź opis zdjęcia tutaj

Brent
źródło
1

W niektórych flagach możesz użyć opcji Rate . Powinien pasować do twoich potrzeb (oceń węzeł flagą Tak / Nie i uzyskaj wynik w procentach)

Ben Cassinat
źródło
0

Pracuję nad bardzo podobnym zagadnieniem i uderzyłem w mur przy użyciu Fivestar, Rate, Flag itp. Dotarłem tutaj przez Google wiele miesięcy później, ponieważ szukałem funkcji „target głosowania” pięciogwiazdkowej, ale prostoty widżetu głosowania w górę / w dół dla interfejsu w stylu Yelp z węzłem i komentarzami dodanymi jako recenzje.

Użyłem widżetu Głosuj w górę / w dół i postępowałem zgodnie z radą tutaj od opiekuna modułu marvil07 na Drupal.org, aby wyświetlić widget w formie komentarza, a nie w formie węzła:

  • Włącz komentarze dla żądanego typu węzła.
  • Dodaj jedno pole vud_field do żądanego typu węzła.
  • Ustaw formater pola vud_field na ukryty.
  • Renderuj widżet głosowania ręcznie w formularzu komentarza (normalnie) i typie węzła (z opcją tylko do odczytu).

Działa to dobrze, ponieważ pole jest renderowane jako widżet AJAX i zawiera wszystkie informacje potrzebne do zarejestrowania głosowania w odpowiednim węźle. Moja dokładna implementacja tego działała tak z moim polem głosowania w górę / w dół 'field_rating':

function MYTHEME_form_comment_form_alter(&$form, &$form_state) { 

  if ($form["#form_id"] == "comment_node_MY_YELP_KNOCKOFF_form") { 

    $node = node_load($form["#entity"]->nid);
    $field = field_view_value('node', $node, 'field_rating', $node->field_rating[$node->language][0]); 
    $vud_render = render($field);

    $form["voteupdown"] = array(
      '#markup' => $vud_render,
      '#weight' => 0,
    ); 

  }

}
schnippy
źródło