Внимание! Форум временно закрыт. Все вопросы вы можете задать на странице MaxSite CMS в Github

Плагин Pagerate

Вопросы по плагинам MaxSite CMS. Только вопросы и решения
Аватар пользователя
Wave
Сообщений: 1218
Зарегистрирован: 01 фев 2009, 17:38

Re: Плагин Pagerate

Сообщение Wave » 31 авг 2010, 12:45

Чуть-чуть подумав, я считаю, что для итоговой оценки лучше использовать стандартное поле в таблице page.
Да, rater и pagerate получаются при этом несовместимы между собой. Но я не встречал сайтов, где одновременно требовались бы оба типа рейтингов. Зато при использовании стандартного поля очень легко доработать mso_get_pages (в частном порядке, если кому нужно, или даже в системе вообще) до фишки «на главную выводятся только посты с рейтингом не ниже…». Доработать этот момент, плюс защитить плагин от накрутки, поставить регистрацию по инвайтам или так моим плагином, сделать возможность вновьзарегистрированным иметь свой блог, галерею, файловый архив (либо стандартными возможностями системы, либо дописав, как Самборский). Ну, там, ещё что-то в зависимости от ТЗ. И получается полноценная хаброподобная социальная сеть на макссайте.

Пысы. Добавить карму в этот плагин ничуть не сложней, чем уже имеющийся функционал. Там похоже будет. Создать таблицу pagerate с полями user_id, comuser_id, rate_array и проверять
if (is_login())
{
$CI->db->select('rate_array');
$CI->db->where(array('user_id' => залогиненный пользователь));
$CI->db->get('pagerate');
}
elseif (is_login_comuser())
{
$CI->db->select('rate_array');
$CI->db->where(array('comuser_id' => залогиненный комьюзер));
$CI->db->get('pagerate');
}
else не давать голосовать или защищать только по кукам.

А при попытке проголосовать смотрим, есть ли текущая страница или пользователь в сериализованном массиве 'rate_array', и если нету, голосовать, изменять массив и записывать его обратно.

Или всё же не rate_array, а page_id, comment_id, user_id, comuser_id. И смотреть, есть ли нужный айди того, за что хотим голосовать.

Какую модель лучше принять, честно говоря, не знаю, надо смотреть и тестить. Зато думаю, что лучше изначально делать с таким расчётом, чтобы настроить можно было по максимуму. Кстати, поле comments_rating тоже существует.
А карму пользователя или комьюзера легко организовать в случае первой модели. Типа user_id, comuser_id, rate_array, karma.

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

Короче говоря, есть уйма работы, которая может этот плагин вывести в очень социальную штуку макссайта. Если плагин до такого дойдёт — буду голосовать за включение в штатную поставку и за доработку mso_get_pages и comments.

dimonich110
Модератор
Сообщений: 299
Зарегистрирован: 12 окт 2009, 10:48

Re: Плагин Pagerate

Сообщение dimonich110 » 31 авг 2010, 13:28

wave, хорошие идеи предлагаешь
скорее всего я и буду использовать стандартные поля рейтинга в таблицах
про mso_get_pages - если ввести свои поля karma_plus и karma_minus в mso_page, то тоже все будет очень просто выбираться
с метой, действительно, для некоторых может быть сложно запросы писать

Или всё же не rate_array, а page_id, comment_id, user_id, comuser_id. И смотреть, есть ли нужный айди того, за что хотим голосовать.


такой вариант мне больше нравится

единственное что, у меня нет проектов с большой посещалкой и активными пользователями. Протестить основной функционал можно и на тестовом серваке, но можно просто незаметить кучу нюансов
[url=http://d51x.ru]Шаблоны[/url] для Maxsite.

Аватар пользователя
Wave
Сообщений: 1218
Зарегистрирован: 01 фев 2009, 17:38

Re: Плагин Pagerate

Сообщение Wave » 31 авг 2010, 14:43

Вот честно, я не вижу особого смысла в том, чтобы знать, сколько плюсов и сколько минусов поставлено. И ради этого менять базу в дефолтной поставке как-то не хочется. За два года база менялась два раза. Хотя, конечно, можно менять её плагином.

Даже не так. У нас есть сумма и количество голосов. Если постановить, что каждый голос — это плюс один или минус один, то (плюсы и минусы) = сумма. Количество минус сумма равно минусы. Количество отнять минусы, равно плюсы. Кажется так, арифметику можно потом досообразить.
Правда, при этом теряется возможность учитывать вес голосов. Но можно и развить идею до довольно большой сложности.

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

dimonich110
Модератор
Сообщений: 299
Зарегистрирован: 12 окт 2009, 10:48

Re: Плагин Pagerate

Сообщение dimonich110 » 31 авг 2010, 15:08

Wave писал(а):И ради этого менять базу в дефолтной поставке как-то не хочется. За два года база менялась два раза. Хотя, конечно, можно менять её плагином.


ну так ее и надо плагинами, при активации - alter table add column
при деинсталяции - alter table drop column

ну да ладно, много нафлудили, над дела делать :) шутко
[url=http://d51x.ru]Шаблоны[/url] для Maxsite.

Аватар пользователя
MAX
Администратор
Сообщений: 3179
Зарегистрирован: 31 янв 2009, 19:02

Re: Плагин Pagerate

Сообщение MAX » 31 авг 2010, 23:52

Мне понравилось. :)

Сразу несколько моментов:

- Можно было бы добавить произвольные стили к #pagerate и вложенным элементам. Или как вариант сразу задать выравнивание блока: влово, вправо. А то сейчас смотрится отдельно - не очень. Вижу, что такая попытка была (или это задел на будущее?)...

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

- Опционально задавать где хранить голос: в куке, сессии или вообще сколько угодно раз. Пример уже есть в mso_page_view_count_first().

Насчет вашего обсуждения. Если нужна будет выборка по опредененному полю, то лучше сделать отдельную таблицу. Там можно уже что угодно придумывать. Если же выборки делать не нужно, то проще всего записывать в meta серилизованный массив. Все мета автоматом получаются и оказываются в $page, так что не нужно будте делать дополнительные запросы к базе.

dimonich110
Модератор
Сообщений: 299
Зарегистрирован: 12 окт 2009, 10:48

Re: Плагин Pagerate

Сообщение dimonich110 » 01 сен 2010, 16:34

- Можно было бы добавить произвольные стили к #pagerate и вложенным элементам. Или как вариант сразу задать выравнивание блока: влово, вправо. А то сейчас смотрится отдельно - не очень. Вижу, что такая попытка была (или это задел на будущее?)...

попытка была, внедрялся рядом сблоком tweetme
Маским, скажи, что имеешь в виду под произвольными стилями?
[url=http://d51x.ru]Шаблоны[/url] для Maxsite.

Аватар пользователя
MAX
Администратор
Сообщений: 3179
Зарегистрирован: 31 янв 2009, 19:02

Re: Плагин Pagerate

Сообщение MAX » 01 сен 2010, 19:50

Там довольно сложный блок получается, со своим css-файлом. Можно было бы вынести для некоторых элементов опцию, в которой задавать свой style. Например меня несколько смущает большой отступ от картинок + и -, а также невыровненность по центру: текст-значение ниже. Ну и задавать свой стиль для #pagerate.

Кстати использовать id блока нельзя, потому что у нас может быть вывод многих таких блоков на главной. А id должен быть уникальный на странице. Я бы переделал на классы.

Далее. Вот все строенные div'ы лучше заменить на span или даже вообще убрать, поскольку в них есть ссылки, к которым и применить стили. А так нужно задавать display: inline. Смысл?

То есть по возможности вообще убрать подключение отдельного css-файла, а нужные настройки вносить через опции. :)

dimonich110
Модератор
Сообщений: 299
Зарегистрирован: 12 окт 2009, 10:48

Re: Плагин Pagerate

Сообщение dimonich110 » 01 сен 2010, 22:08

попробую в ближайшее время что-нибудь со стилями придумать
[url=http://d51x.ru]Шаблоны[/url] для Maxsite.

SixtySix
Сообщений: 6
Зарегистрирован: 13 окт 2011, 18:06

Re: Плагин Pagerate

Сообщение SixtySix » 17 окт 2011, 20:56

Мне кажется или раньше можно было менять место вывода рейтинга? Вообще поправить место вывода руками возможно? Мне лично было бы удобнее выводить по правому краю например и в конце а не в начале статьи.

Аватар пользователя
jimmyjonezz
Модератор
Сообщений: 463
Зарегистрирован: 11 дек 2011, 17:06

Re: Плагин Pagerate

Сообщение jimmyjonezz » 25 янв 2012, 15:30

Нет защиты от накрутки - если пользователь начнет быстро щелкать на лайк или дислайк, то пока идет отклик счетчик будет продолжать накидывать рейтинг.


Вернуться в «Плагины»

Кто сейчас на форуме

Пользователь просматривает форум: Bing [Bot]

cron