Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Самый просматриваемый материал за день

Самый просматриваемый материал за день


     22.11.2013    Общие вопросы    3260

вопрос
Можно как нибудь вывести на dle самый просматриваемый материал за день?

Ответил: ПафНутиЙ


Смотрите в строну этого поста: https://dle-faq.ru/blog/4573-pravlnyy-reyting-dle.html
Вам нужен аналог.
Т.е. необходимо завести некий счётчик, который будет ежедневно сбрасываться. и уже по этому счётчику отбирать новости.

Комментарии пользователей (21)

Roman.NMSK
10

95 | 34

Roman.NMSK - 22 ноября 2013 16:24 - Юзер

1. создаешь доп.колонку для просмотров в базе
2. дублируешь функцию учета просмотров на эту колонку
3. через крон делаешь сброс этой ячейки в 0 раз в день
4. делаешь выборку материалов по новой колонке просмотров
ПРОФИТ?

edik8305
100 | 1

edik8305 - 22 ноября 2013 17:35 - Юзер

Цитата: Roman.NMSK
Roman.NMSK
А от этого не будет большая нагрузка на сайт, сколько будет стоить что-бы вы мне это сделали?

Roman.NMSK
10

95 | 34

Roman.NMSK - 22 ноября 2013 18:07 - Юзер

нагрузка будет такая же как и сейчас при сборе просмотров новости. ищешь в файле show.full.php примерно такое:

    if ($config['allow_read_count'] == "yes") {
        if ($config['cache_count'])
        $db->query("INSERT INTO " . PREFIX . "_views (news_id) VALUES ('{$row['id']}')");
        else $db->query("UPDATE " . PREFIX . "_post set news_read=news_read+1 where id='{$row['id']}'");
    }

и добавляешь в АПДЕЙТЕ обновление своей новой созданной в базе колонки. если (к примеру) ты создал колонку рядом news_read2, то в запросе пишешь
set news_read=news_read+1, news_read2=news_read2+1

edik8305
100 | 1

edik8305 - 22 ноября 2013 19:24 - Юзер

Я с dle не очень знаком, не могли-бы вы мне сделать, и заодно убрать панель bb кодов в комментариях, конечно не бесплатно!? скайп: edik8305

Nick
6

95 | 70

Nick - 22 ноября 2013 17:52 - Юзер

Цитата: edik8305
Можно как нибудь вывести на dle самый просматриваемый материал за день?

http://blockpro.ru/generator/

Roman.NMSK
10

95 | 34

Roman.NMSK - 22 ноября 2013 18:10 - Юзер

а если материал выложили 3 дня назад, а сегодня его просматривали в 5 раз больше, чем в день добавления - откуда ты возьмешь эти данные, если считываешь общий счетчик просмотров?

i_loves_ac_dc
7

235 | 41

i_loves_ac_dc - 22 ноября 2013 23:25 - Гости

Все можно сделать стандартными способами DLE
{custom  category="1-99"  days="1" template="custom" aviable="global" from="0" limit="1" order="reads" cache="yes"}

edik8305
100 | 1

edik8305 - 23 ноября 2013 00:06 - Юзер

С помощью выше указанного кода будет выводится материал добавлений день назад и сортироваться по просмотрам, или я не правильно понимаю вот этот текст в документации dle "days указывает временной период, где x это количество дней за которые выводить публикации." А мне нужно что-бы выводился материал у которого само много просмотров за сегодня, не зависимо от того когда материал был добавлен!

Sander
1126

1637 | 1204

Sander - 23 ноября 2013 11:59 - Эксперт

Да что ж бестолочи все норовят свой ответ влепить не прочитав вопроса.
Что написано:
Можно как нибудь вывести на dle самый просматриваемый материал за день?

На что вы отвечаете:
Можно как нибудь вывести на dle самый просматриваемый материал опубликованный за последние сутки?


Внимательнее будьте!

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

edik8305
100 | 1

edik8305 - 23 ноября 2013 13:03 - Юзер

Цитата: Sander
опубликованный за последние сутки?
Нет, нужно что-бы выводился материал у которого само много просмотров за сегодня, не зависимо от того когда материал был добавлен!

Sander
1126

1637 | 1204

Sander - 23 ноября 2013 17:59 - Эксперт

А я о чем?!

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

edik8305
100 | 1

edik8305 - 23 ноября 2013 23:26 - Юзер

Вы о том, цитирую:
Цитата: Sander
Можно как нибудь вывести на dle самый просматриваемый материал опубликованный за последние сутки?


А я вам отвечаю, цитирую:
Цитата: edik8305
Нет, нужно что-бы выводился материал у которого само много просмотров за сегодня, не зависимо от того когда материал был добавлен!

Из всех существующих материалов должна идти сортировка по количеству просмотров за день, и выводится материал у которого само много просмотров за день, даже если материал был добавлен год назад, но сегодня у него само много просмотров по сравнению с другими материалами, значить он должен выводится!!! Например вчера само много просмотров было на (Люди икс) значить вчера он показывался в блоке, сегодня у меня само много просмотров было на (Элизиум: Рай не на Земле) значит сегодня он у меня будет выводится, и без разницы когда эти материалы были добавлены!

Sander
1126

1637 | 1204

Sander - 24 ноября 2013 02:00 - Эксперт

Первую часть моего комментария вы не читали или листочком прикрыли?
Уже дважды люди отвечали на вопрос:
Можно как нибудь вывести на dle самый просматриваемый материал опубликованный за последние сутки?

И это то - как все прочие незнайки видят суть вопроса.

И комментарий был адресован не вам, а спешунам, которые отвечают не вникнув в суть вопроса.

Roman.NMSK полностью правильно дал ответ на вопрос. Осталось только повесить на крон ежесуточное обнуление колонки и в block.pro заменить news_read на news_read2

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

edik8305
100 | 1

edik8305 - 24 ноября 2013 09:02 - Юзер

Извиняюсь, не правильно сразу понял вторую часть вашего первого комментария. Я с dle не очень знаком, не могли-бы вы мне сделать, и заодно убрать панель bb кодов в комментариях, конечно не бесплатно?

Gopr
10

494 | 164

Gopr - 24 ноября 2013 23:49 - Юзер


Е.Красивая
5 | 1

Е.Красивая - 11 декабря 2013 14:10 - Юзер

Надеюсь это вам поможет!
days_views=ХХХ - выведет новости по просмотрам за день смещённый на указанное число от текущей даты, напрмиер 0 - только текущий день, 1 - только за вчера, 2 только за позавчера и т.д.
days_views=15 - за прошедшую неделю
days_views=16 - за текущую неделю

Например у меня так:
{custom category="категории" template="topnews" days_views="0" aviable="global" order="reads" limit="10" cache="yes"}

Gopr
10

494 | 164

Gopr - 24 ноября 2013 01:38 - Юзер

Данный тег позволяет сортировать новости в том числе и по просмотрам/посещаемости
[sort]{sort}[/sort]

Есть еще Block.Pro.3 который упростит вывод таких новостей в определенном месте, если это требуется.
Если через админку или базу раз в день обнулять количество просмотров у всех записей, то вы получите то что вам нужно...
Нужно лишь автоматизировать такой процесс ;)
В итоге вытекает альтернативный вопрос:
Как сделать автоматическое обнуление просмотров у всех новостей раз в день?
Нужно для вывода самых просматриваемых новостей за день/сутки/24 часа.

dj-avtosh
39

1479 | 390

dj-avtosh - 25 ноября 2013 12:58 - шашлычник

Надо писать лог просмотров каждый день и выводить только то что за сегодня максимум смотрели. При этом удалив все что менее сегодня. Это не так просто и нагрузочно.

skype: elhan.isaev

dj-avtosh
39

1479 | 390

dj-avtosh - 25 ноября 2013 13:03 - шашлычник

Структура будет отдельной таблицей и такова: id, id_news, views, date ( current_timestamp ).

Запрос на запись по типу:

Insert into dle_views_logs ( id_news, views ) values ( 1, 1 )



Через date_sub проверяется есть ли news_id за сегодня. Если есть то update иначе insert.

Далее выводимой с сортировкой where date blala
order by views DESC

skype: elhan.isaev

zip
129 | 7

zip - 11 июля 2015 05:40 - Юзер

Сделал по инструкции Сандерса, но как мне сделать чтобы Cron сбрасывал значение на 0 не раз в день, а раз в неделю? к примеру. Кто подскажет? Или какую команду можно прописать в Планировщике задач на хостинге? там можно выбирать когда и во сколько сбрасывать.

denibox
16

denibox - 23 января 2016 20:40 - Юзер

Здравствуйте!
Хотел бы спросить. А если отключен Cчетчик просмотров новостей будет ли работать
{custom  category="1-99"  days="1" template="custom" aviable="global" from="0" limit="1" order="reads" cache="yes"}

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы