Risultati sondaggi ordinati

Aperto da Sebbene, Lunedì - 17 Febbraio 2014 - 19:02

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

Sebbene

Ciao, esiste un modo per ordinare in modo crescente o decrescente i risultati dei sondaggi? Grazie.

emanuele


Sebbene

#2
Sono contento che tu abbia trovato interessante questa idea  :)
Sul mio forum ci sono parecchi sondaggi e molto spesso sarebbe davvero utile che i risultati di un sondaggio si potessero vedere sotto forma di classifica ...
Ho cercato a lungo una mod ma purtroppo non ce ne sono. Peccato.

emanuele

Potrebbe essere più facile del previsto.
Prova in Display.php ad aggiungere:
if ($context['poll']['show_results'])
usort($context['poll']['options'], create_function('$a, $b', '
if ($a[\'votes\'] == $b[\'votes\']) {
return 0;
}
return ($a[\'votes\'] < $b[\'votes\']) ? -1 : 1;
'));


Appena dopo:
// Now look through each option, and...
foreach ($pollOptions as $i => $option)
{
// First calculate the percentage, and then the width of the bar...
$bar = round(($option['votes'] * 100) / $divisor, $precision);
$barWide = $bar == 0 ? 1 : floor(($bar * 8) / 3);

// Now add it to the poll's contextual theme data.
$context['poll']['options'][$i] = array(
'id' => 'options-' . $i,
'percent' => $bar,
'votes' => $option['votes'],
'voted_this' => $option['voted_this'] != -1,
'bar' => '<span style="white-space: nowrap;"><img src="' . $settings['images_url'] . '/poll_' . ($context['right_to_left'] ? 'right' : 'left') . '.gif" alt="" /><img src="' . $settings['images_url'] . '/poll_middle.gif" width="' . $barWide . '" height="12" alt="-" /><img src="' . $settings['images_url'] . '/poll_' . ($context['right_to_left'] ? 'left' : 'right') . '.gif" alt="" /></span>',
// Note: IE < 8 requires us to set a width on the container, too.
'bar_ndt' => $bar > 0 ? '<div class="bar" style="width: ' . ($bar * 3.5 + 4) . 'px;"><div style="width: ' . $bar * 3.5 . 'px;"></div></div>' : '',
'bar_width' => $barWide,
'option' => parse_bbc($option['label']),
'vote_button' => '<input type="' . ($pollinfo['max_votes'] > 1 ? 'checkbox' : 'radio') . '" name="options[]" id="options-' . $i . '" value="' . $i . '" class="input_' . ($pollinfo['max_votes'] > 1 ? 'check' : 'radio') . '" />'
);
}   <= una sola graffa, dopo di questa ce n'è un'altra, ma il codice sopra deve andare tra questa e l'altra. ;)

Sebbene

Grazie!!! Finalmente ieri sera ho trovato un pò di tempo per provare questo codice che mi hai gentilmente fornito. Credevo di averlo applicato in maniera corretta ma purtroppo non è così. Ho fatto un test ma i sondaggi restano uguali alle impostazioni di default. Ho anche creato un sondaggio exnovo ma niente da fare.
Ho fatto come da te indicato inserendo il codice in questo modo:

}
codice
}

emanuele


Discussioni simili (3)