Окт 12
В я вкратце рассказал о том, что представляет из себя CMS 2z. В этой - приведу пример того, как можно доработать модуль голосования, чтобы результаты опросов выводились в более приятном для глаза виде. По-умолчанию результаты опросов выводятся в текстовом виде: вариант ответа, количество ответов и процент проголосовавших за этот вариант. А душа просила чего-то более красивого... В этой заметке речь пойдет о том, как вывести результаты голосования в виде красивых цветных шкалок. Я видел, что на форуме разработчиков 2z этот вопрос озвучивали, но решение так и не было найдено. Чтож, попытаюсь восполнить пробел своим примером. Так как в коде шаблона PHP использовать не получится, придется дорабатывать непосредственно код модуля voting. Итак, нам нужно доработать 2 файла плагина + шаблоны.
2z/extras/voting/config.php:
Найдите строку 27 с таким текстом:
1
| array_push($cfg, array('name' => 'skin', 'title' => 'Используемый скин', 'descr' => 'Вы можете использовать только один скин единовременно', 'type' => 'select', 'values' => $skList, 'value' => extra_get_param('voting','skin'))); |
После нее вставьте еще одну строку:
1
| array_push($cfg, array('name' => 'max_px', 'title' => 'Максимальная ширина шкалы', 'descr' => 'Укажите максимальный размер шкалы в пикселах', 'type' => 'input', 'value' => extra_get_param('voting','max_px'))); |
2z/extras/voting/voting.php:
Найдите строку 82:
И вставьте после нее 2 строки:
1 2
| $max_px = extra_get_param('voting','max_px');
$max_cnt = 0; |
Теперь найдите строку (87):
1
| foreach ($lrows as $lrow) { $cnt += $lrow['cnt']; } |
И ЗАМЕНИТЕ ее на:
1
| foreach ($lrows as $lrow) { $cnt += $lrow['cnt']; $max_cnt = max($lrow['cnt'], $max_cnt); } |
Найдите строку:
1
| 'perc' => intval($lrow['cnt']*100/$cnt), |
и после нее добавьте строку:
1
| 'px' => intval($lrow['cnt']*$max_px/$max_cnt), |
Теперь у вас в шаблне появилась еще 1 переменная: {px}
Используйте ее в свое удовольствие!
Ну, например, вот так:
1
| <div style="height: 10px; background-color: #003399; width: {px}"></div> |
Автор: Кирилл Павлюков
\\ Метки: 2z, CMS, PHP, веб-разработка
Оставьте комментарий или два
октября 12, 2008 в 9:38
октября 12, 2008 в 12:13
октября 19, 2008 в 22:45
Я видел, что на форуме разработчиков 2z этот вопрос озвучивали, но решение так и не было найдено.