Популярные статьи за неделю

 
Посетитель
small user social cms
Медаль
Сообщений: 119
Всем привет!
Подскажите пожалуйста, что добавить в участке кода, чтобы выводились популярные статьи за неделю?

Код PHP:
  1. $inDB->where("con.showlatest = 1");
  2.  
  3. if ($cfg['is_pag']){
  4. $total = $model->getArticlesCount();
  5. }
  6.  
  7. $inDB->orderBy('con.hits', 'DESC');
  8. $inDB->limitPage(1, $cfg['newscount']);
  9.  
  10. $content_list = $model->getArticlesList();
  11. if(!$content_list) { return false; }
  12.  
  13. $smarty = $inCore->initSmarty('modules', 'mod_lcslider.tpl');
  14. $smarty->assign('articles', $content_list);
  15. if ($cfg['is_pag']) {
  16. $smarty->assign('pagebar_module', cmsPage::getPagebar($total, 1, $cfg['newscount'], 'javascript:conPage(%page%, '.$module_id.')'));
  17. }
  18. $smarty->assign('is_ajax', false);
  19. $smarty->assign('module_id', $module_id);
  20. $smarty->assign('cfg', $cfg);
  21. $smarty->display('mod_lcslider.tpl');
  22.  
  23. return true;
Посетитель
small user social cms
Медаль
Сообщений: 119
Никто не знает? Срочно нужно
Реклама
cms
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
после строчки
$inDB->where("con.showlatest = 1 ");
вставить
$to= mktime(0, 0, 0, date("m") , date("d")-7, date("Y"));

$todn=date("Y-m-d H:i:s", $to);

$inDB->where("con.pubdate >='".$todn."'");
Книга мастера, делаем своими руками.
Посетитель
small user social cms
Медаль
Сообщений: 119
Олег, что то не то. По-моему показываются новые статьи, а не популярные
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
вопрос не точно прочитал
популярные за неделю это как?
по каким критериям оценивать популярность
если по просмотрам за неделю то простой правкой не сделать

по каким критериям сортировать?
Книга мастера, делаем своими руками.
Посетитель
small user social cms
Медаль
Сообщений: 119
Олег, именно по просмотрам нужно
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
по просмотрам у нас только число прибавляется в базе
а дата просмотра не заносится
поэтому решение только добавить в таблицу cms_content поле которое будет обновлять дату просмотра
а потом тот код что я привёл выше применить к тому полю
Книга мастера, делаем своими руками.
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
тоесть чтоб это сделать нам ещё нужно править компонент статьи
чтоб при просмотре обновлять дату просмотра
Книга мастера, делаем своими руками.
Посетитель
small user social cms
Медаль
Сообщений: 119
Олег, хорошо. А если по рейтингу?
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
проще по просмотрам

там хоть в одной таблице можно сделать
(редактировать мало)

в базу делаем запрос

ALTER TABLE `cms_content` ADD `hitsdate` datetime NOT NULL;

далее идём в components\content\frontend.php

и после строк
// увеличиваем кол-во просмотров
if(@!$is_author){
$inDB->setFlag('cms_content', $article['id'], 'hits', $article['hits']+1);
вставляем
$updat = "UPDATE cms_content SET hitsdate = NOW() WHERE id=".$article['id'];
$resul = $inDB->query($updat);



далее в модуле что раньше код писал
после
$inDB->where("con.showlatest = 1 ");
вставляем
$to= mktime(0, 0, 0, date("m") , date("d")-7, date("Y"));

$todn=date("Y-m-d H:i:s", $to);

$inDB->where("con.hitsdate >='".$todn."'");
Книга мастера, делаем своими руками.
Посетитель
small user social cms
Медаль
Сообщений: 119
Олег, вроде все работает! Огромное спасибо!
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 214
Пожалуйста)))
Книга мастера, делаем своими руками.
Посетитель
small user social cms
Медаль
Сообщений: 119
smile
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: