• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела wpt лично.

Помощь счетчик непрочитанных новостей

m1ko

Создатель
Регистрация
15 Авг 2010
Сообщения
42
Реакции
3
Здравствуйте, подскажите как сделать на bitrix информер (счетчик) непрочитанных новостей.
Как на чистом php+mysql сделать знаю, как реализовать на битрикс понять не могу.

И как потом вывести этот список, что бы пока в каждую новость не зайдешь, она так и светилась непрочитанной в отдельном списке непрочитанных новостей.
 
Навскидку, создайте 2 highload'а в 1 пишите id пользователя, id Новости, ну и флаг, просмотрена или нет, ну и при входе на страницу с новостью делайте запрос, с каким флагом данная новость у данного пользователя. С количеством непросмотренных новостей будет сложнее, если решать в лоб, то просто делать array_diff между записями в хайлоде и инфоблоке с новостями. Но в плане производительности так себе вараинт.
 
Согласен с nononameman, в том числе и по производительности.
По мне, совершенно бессмысленное решение будет, если конено это не новостной портал будет! Пусть даже при 5к пользователей и около 300 новостей — будет чёрти чего. А дальше больше?
У вас к каждой новости будет дополнительно 5к флагов и со временем постоянно расти, а если учесть, что не каждый читает новости как подписчик, то нужно учитывать дополнительно его куки, сессии, ip адреса. Возможно, придется написать компонент, который будет выдавать анонимному пользователю ID посетителя по кукам и IP адресу без регистрации, но нужно понимать, что у людей могут быть динамические IP адреса. В общем объемная работёнка предстоит
 
Это будет информер только у тех кто авторизовался, в плане производительности да есть проблемы, но по другому не сделать, 100% надо таблицу в которой будет id пользователя и id новости которую он просмотрел + проверка смотрел он ее до этого или нет, что бы куча строк не создавалась, тогда точно пипец будет, но это не новостной портал и кэш есть для производительности, я не понимаю как сделать в bitrix его способом, добавить эту самую таблицу в базе, не руками же это делать напрямую и потом в полной новости что бы выполнялся запрос на добавление id пользователя и новости в эту самую таблицу, и потом сделать запрос с циклом что бы считал какие новости ты не прочитал и хотя бы пока выводил просто цифру. Пока почитаю что такое highload.
 
100% надо таблицу в которой будет id пользователя и id новости которую он просмотрел + проверка смотрел он ее до этого или нет
Уточнение. Не городите лишних избыточных флагов. ID новости + ID пользователя.
К каждой новости, если пользователь посмотрел, добавляете его ID — смотрел (он же флаг), если же значение отсутсвует, значит и не смотрел.

Другой разговор можно добавлять еще один флаг на развитие (или множество) — типо новости с аяксом — показывать не показывать, в избранное и т.д.
 
  • Нравится
Реакции: nyx
Я так и не осилил, кто нибудь может подробно помочь (объяснить что бы я сам сделал) как сделать данную фишку, что бы хоть немного понимать битрикс, не бесплатно конечно.
 
Назад
Сверху