Перейти к контенту

Мод голосования по списку тем


Рекомендуемые сообщения

Здравствуйте!

 

Появилась необходимость организовать голосование по темам форума или, если обобщить, то по пунктам некого списка. Ничего подобного я не нашёл. Возможно ли это в принципе на IPB или PhPFusion. Если да, то насколько сложно.

 

Вот эскизы того что имеется ввиду

 

Спасибо

post-74372-1202535294_thumb.jpg

post-74372-1202535309_thumb.jpg

Ссылка на комментарий
Поделиться на других сайтах

Не очень сложно, только подробности нужны.

если не заморачиваться с 3мя цветами, то может вам обычный рейтинг тем подойдёт? :D

Ссылка на комментарий
Поделиться на других сайтах

Не очень сложно, только подробности нужны.

если не заморачиваться с 3мя цветами, то может вам обычный рейтинг тем подойдёт? :D

Не подскажете где посмотреть структуру БД IPB? Тогда можно будет определить какие таблицы и поля потребуется добавить. Конечно без цветов можно обойтись. Если удасться добавить саму функцию голосования, то надеюсь можно будет и рейтинг немного поправить. это детали...

А где можно посмотреть "рейтинг тем" в действии?

Ссылка на комментарий
Поделиться на других сайтах

1. В форуме по 2.3, поиском ещё воспользоваться всегда можно :D

2.

Это часть IPB. Включается в настройках Тем, Сообщений и Опросом or/and в настройках каждого форума.
Ссылка на комментарий
Поделиться на других сайтах

ТЗ мода голосования по темам

 

Цель

 

Создать возможность голосования, а не рейтинга, по темам форума непосредственно в списке тем.

 

Исходная точка

 

Мод описанный в теме http://www.ibresource.ru/forums/index.php?showtopic=44915

Мне неизвестно удалось ли МАРАДЁР создать желаемый Мод. http://www.ibresource.ru/forums/style_imag...es/rte-list.gif

 

Функции

  1. В списке тем отображать всё описание темы. Выводить несколько строчек с переносом в соответствии с шириной колонки. (см. №1 на Рис. 1)
    • Предполагается что описания тем будут достаточно короткими.

[*]В списке тем отображать кол-во проголосовавших «За» и «Против» и процент от общего числа проголосовавших (см. №2 на Рис. 1)

  • Цветовые индикаторы (красный, зелёный) желательны, но необязательны.

[*]Показывать количество проголосовавших по данной теме. (см. №3 на Рис. 1)

[*]Возможность голосовать «За» / «Против» по теме непосредственно в списке тем (см. №4 на Рис. 1)

  • Возможно стоит использовать radio button вместо цветных checkbox
  • Желательно предусмотреть здесь возможность голосования в будущем по нескольким (> 2-х) вариантам.

[*]Возможность голосовать «За» / «Против» непосредственно в теме (см. Рис. 2)

  • Возможно стоит использовать radio button вместо цветных checkbox
  • Желательно предусмотреть здесь возможность голосования в будущем по нескольким (> 2-х) вариантам.

[*]Функция голосования по темам доступна только на тех форумах где была разрешена администратором через CP

[*]Голосовать могут только зарегистрированные пользователи или все посетители.

  • Желательно иметь возможность менять через СР. Если сложно, то достаточно ограничиться голосованием только для зарегистрированных пользователей.

[*]В БД сохраняются данные о каждом голосовании включая тему, результат, пользователь, время и IP

[*]Пользователь имеет возможность изменить результат своего голосования.

  • Желательно иметь возможность отключения администратором через СР.
  • Желательно в ДБ сохранять данные о переголосованиях (результат, ИП, время).

 

Очевидно что если этот базовый мод будет реализован, то понадобятся функции анализа результатов, сортировки тем по кол-ву голосов и т.д. и т.п.

 

Спасибо...

 

 

Рис.1 Эскиз списка тем. Рис.2 Эскиз темы.

post-74372-1202673709_thumb.jpg

post-74372-1202673738_thumb.jpg

Ссылка на комментарий
Поделиться на других сайтах

функции анализа результатов, сортировки тем по кол-ву голосов

Предвижу геморой, особенно с сортировкой по проценту :D

Ссылка на комментарий
Поделиться на других сайтах

функции анализа результатов, сортировки тем по кол-ву голосов

Предвижу геморой, особенно с сортировкой по проценту :D

ну сортировка понадобится позже, сначала базовый МОД ;)

А если сортировать по числу голосов?

Как оцениваете сложность создания базового мода?

Ссылка на комментарий
Поделиться на других сайтах

Сложно здесь только:

1. Разрешать голосовать гостям, ибо алгоритма, который позволяет всё точно отследить нет. Так что тут в любом случае будет некоторый компромис. И как следствие появится возможность накрутки.

2. Сортировка, например если сортировать по процентам, то если за тему проголосовал один человек за, то там будет 100%, что не есть хорошо. Правильнее сортировать по баллам, которые ещё и начисляться будут нелинейно. Но тогда проценты нужно вообще убрать.

 

Остально делается на основе мода, который Jax приводил в одной из тем где вы отвечали за последние сутки, чисто косметически убираются лишние варианты 3, 4 и 5 балов и правятся языковые файлы. За вечер.

Ссылка на комментарий
Поделиться на других сайтах

Сложно здесь только:

1. Разрешать голосовать гостям, ибо алгоритма, который позволяет всё точно отследить нет. Так что тут в любом случае будет некоторый компромис. И как следствие появится возможность накрутки.

Я старался не писать слишком много идей/функций. Думаю что эта проблема - разница между зарегистрированными пользователями, которые тоже кстати могут быть клонами, и чистыми анонимами - в какой-то мере решается путём разделения на эти две выборки - зарегистрированные и анонимы - и раздельного представления результатов. Но это потом. Если есть возможность голосовать всем, но с возможностью позже отделить анонимов от зарегистрированных, то на начальном этапе следует дать возможность голосовать всем.

2. Сортировка, например если сортировать по процентам, то если за тему проголосовал один человек за, то там будет 100%, что не есть хорошо. Правильнее сортировать по баллам, которые ещё и начисляться будут нелинейно. Но тогда проценты нужно вообще убрать.

Вы абсолютно правы. Сортировать по процентам не здорово. Нелинейность может быть сложна для восприятия. Думаю что проше и понятнее для пользователей сортировать по кол-ву голосов "за", кол-ву голосов "против", общему кол-ву голосов, разнице кол-ва "за" и "против", и кол-ву комментариев.

Остально делается на основе мода, который Jax приводил в одной из тем где вы отвечали за последние сутки, чисто косметически убираются лишние варианты 3, 4 и 5 балов и правятся языковые файлы. За вечер.

Есть ли у Вас желание сделать такой мод?

Спасибо

Ссылка на комментарий
Поделиться на других сайтах

а вот и я :D и с положительными вестями. Да, мне удалось вывести всё что я хотел в списки тем, то есть количество голосов, средний балл и количество звездочек соответственно. Да вот есть изменения, а именно по версии форума. Вообщем вот то что стоит у меня: http://irkmob.net/forum/index.php?showforum=22 Может не совсем то что вы хотите. но уже первые шаги к этому ;) Если есть желающие доработать, то могу дать исходники, если кто то очень хочет доработать, но боится что сам не справится, то можете написать мне в аську 6519220. Только прошу писать только тем кто реально зинтересован и без слов, сделай пожалуйства. Я расчитываю на человека неплохо знающего пхп. просто у меня времени мало очень свободного.

 

А теперь по предложенному варианту.

ответы на все вопросы:

1. Изменить мою вариацию очень не сложно, то есть за и против, это не текст, а рисунки-звездочки.!!!

2. Проценты думаю не лучший вариант, но сделать тоже реально. Алгоритм вычисления процентов из данных голосований из БД на пхп сделать просто.

3. Все входящие переменные для этого уже присутствует и это тоже большой плюс.

4. гости голосовать не могут, это изначально есть в настройках (кому как по желанию настроивается). про клоны всё чушь.

5. данный мод если и будет сделан, то только для версии 2.3.x хотя я уже не помню, но при переходе с версии 2.1.5 я изменил всего одну строку.

 

так что...думаем.

Ссылка на комментарий
Поделиться на других сайтах

МАРАДЁР и Sannis, пожалуйста напишите мне в личку на каких условиях можете сделать мод. спасибо

пс у меня версия 2.3.2

Ссылка на комментарий
Поделиться на других сайтах

да нет никаких условий :D единственное условие, которое необходимо, это человек который хочет сделать, имеющий аську и знающий пхп. Ну и немного времени, думаю с таким человеком мы сделаем за пару вечеров.

Или ты ещё что нить имеешь ввиду?

Ссылка на комментарий
Поделиться на других сайтах

МАРАДЁР, заказать он её хочет у нас.

 

mexnap, я её делать не буду, в ближайшие 2 недели по крайней мере. И вышенаписаные мной вопрос решать не хочется :D Просто лень, это такой мод, который нужно подгонять под желания конкретного заказчика и ещё по пути обсуждать, это неэффективно ;)

Ссылка на комментарий
Поделиться на других сайтах

Sannis, ты прав, тут как бы нужно делать чуть ли не под каждого, отсюда вытекает, что нужны индивидуальные моды, либо несколько вариаций (голосовалка с процентами, рейтинг по оценкам со средним балом и т.п). Хотя думаю тут основные как раз эти вариации. Вариация рейтинга у меня уже есть. остается с процентами. Такую как нарисовал mexnap сделать можно. тут просто убираем 3, 4 и 5 вариант, оставляем 1 и 2, и уже на их основе делаем скрипт. то есть если пользователь голосует за 1 (образно), то это будет ЗА, если за 2 то ПРОТИВ.

Но есть одно огромное НО!!! В базе данныx в таблице topics для каждой темы записывается лишь количество проголосовавших и общее количество баллов, отсюда следует, что в процентном соотношении это сделать не реально, а вот для средней оценки это в самый раз.

Что? уже отчаились??? Я вот тоже подумал что огорчу вас :D Но тут до меня дошло, что ведь откуда то берётся оценка, которая показывается после того как я проголосовал...И тут после небольших раскопок, я обнаружил, что в БД в таблице topic_rating записываются все данные, которые то нам и нужны для вычисления процентов.

Логически получается так:

$za = $row_za["rating"]; //сортировка из БД по значению 1 (предположим прoголосовало 4 человека).

$protiv = $row_protiv["rating"]; //сортировка из БД по значению 2 (предположим проголосовало 6 человек).

$etalon = 100/($za+$protiv); //среднее число на каждого. (100/(4+6)=10).

$procent_za = $etalon*$za; //процент ЗА. (10*4=40%).

$procent_protiv = $etalon*$za; //процент ПРОТИВ. (10*6=60%).

 

Ну а дальше с этими переменными можно делать уже всё что угодно ;)

Вообщем в целом картина проста. Но нужно это ещё воплотить :)

PS: сорри если что не понятно...

И ещё, хочу заметить, что если сделать голосовалку, то рейтинга не будет совсем во всем форуме :) Если это устраивает, то могу попробывать, если нет, то у меня нет желания делать дополнительные настроки в админке для форумов с выбором рейтинг или голосовалка. Для меня это слишком и боюсь я это не осилю :) то есть я смогу только переделать скрипт рейтинга.

Ссылка на комментарий
Поделиться на других сайтах

короче че то я смотрю все быстро разбежались. я офф.

 

Да нет, я здесь. Если Вы готовы попробовать, даже без рейтинга во всём форуме, то буду очень благодарен. Меня это устраивает. Может и Sannis позже присоединиться. Напишите мне в личку адрес Вашей эл. почты. Так наверное будет удобней. Спасибо

Ссылка на комментарий
Поделиться на других сайтах

Вообщем начал по малости переделывать скрипт рейтинга. В списке тем вывод голосов уже готов. Осталось переделать саму голосовалку (рейтинг) в теме.

Не обещаю что будет голосование в списке тем, как указанно на рисунке.

 

Осталось только изменить рейтинг в теме и модификация версия 1.0 будет готова :D

Ни кто не поможет отредактировать файл ipb_topic.js?? А то у меня с явой очень плохо ;)

Ссылка на комментарий
Поделиться на других сайтах

и опять все потерялись...мне это надо??? короче на неделю я офф...

Я тебе и по почте писал и в аську. В аське у тебя антиспам. Не знаю получил ли ты мои сообщения или нет. Самый надёжный способ это эл. почта. Пока...

Ссылка на комментарий
Поделиться на других сайтах

ну наконец то хоть кто то :D

Вообщем так, нужно переделать дизайн рейтинга в самой теме на такой как прилагается в рисунке. Из переменных задействовать только переменную голоса 1 звездочки и переменную 2 звездочки.

У меня в скрипте 1 - это ЗА, 2 - это ПРОТИВ. Остальные можно ваще удалить.

Название картинки (квадратики зеленый и красный):

ЗА - voice_za.png

Против - voice_protiv.png

путь к картинкам \style_images\

Вроде на этом всё. если что забыл. что нужно напиши.

Запросы к бд остаются те же самые, нужно переделать лишь внешний вид и задействовать только 1 и 2 голос.

post-63250-1203276775_thumb.png

Ссылка на комментарий
Поделиться на других сайтах

Ну дык эта форма есть в шаблоне skin_topic->topic_page_top, оттуда можно 3 точки удалить, а картинки изменить в папке изображений скина :D
Ссылка на комментарий
Поделиться на других сайтах

дело в том что у меня стоит мод рейтинга без перезагрузки...

Блин, точно...а ведь не у каждого он стоит :D ладно, доделаю сам тогда для чистого форума ;)

спустя несколько часов:

блин...у меня версия форума 2.3.1 и там всё на яве сделанно :) так что придется помогать :)

Жду...

Ссылка на комментарий
Поделиться на других сайтах

Снова обращаюсь с просьбой создать мод голосований по темам или помочь МАРАДЁРУ закончить его разработку. Если требуется оплата - пишите в личку. Спасибо
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.