Новости часа

InstantCMS 2.X
#1 18 мая 2019 в 12:22
Требуется вывести на сайте набор

"новости часа" — и там все статьи, за последний час



но таких настроек нет
#2 18 мая 2019 в 13:38

но таких настроек нет

@iKrym
Их можно добавить самому.
Для этого придется отредактировать два системных файла.
1. В файле \system\controllers\admin\forms\form_ctypes_dataset.php добавить после
  1. 'dy' => LANG_FILTER_DATE_YOUNGER,
что-то вроде
  1. 'hr' => 'не старше, часов',
2. В файле \system\core\model.php добавить после
  1. case 'dy': $this->filterDateYounger($filter['field'], $filter['value']); break;
строку
  1. case 'hr': $this->filterDateYounger($filter['field'], $filter['value'], 'HOUR'); break;
В результате будем иметь выборку за час.
SELECT i.*, u.nickname as `user_nickname`, u.avatar as `user_avatar`, u.groups as `user_groups`, f.title as `folder_title`
FROM cms_con_news i
FORCE INDEX FOR ORDER BY (dataset_lasthour)
FORCE INDEX (date_pub)
INNER JOIN cms_users as u ON u.id = i.user_id
LEFT JOIN cms_content_folders as f ON f.id = i.folder_id
WHERE (i.date_pub >= DATE_SUB(NOW(), INTERVAL 1 HOUR)) AND (i.is_approved = '1') AND (i.is_deleted IS NULL) AND (i.is_pub = '1') AND (i.is_parent_hidden IS NULL)
ORDER BY i.date_pub desc
LIMIT 0, 15
#3 18 мая 2019 в 14:04
Ris, а как сделать набор для пользователей, чтобы пользователей можно было отобразить заходивших недавно, например за сутки или пару?
#4 18 мая 2019 в 14:28
Александр,
Это можно без редактирование системных файлов сделать.
Добавляем хук \system\controllers\users\hooks\profiles_datasets.php такого вида
  1. <?php
  2.  
  3. class onUsersProfilesDatasets extends cmsAction {
  4.  
  5. public function run($datasets){
  6.  
  7. // Недавние посетители
  8. $datasets['lastlogged'] = array(
  9. 'name' => 'lastlogged',
  10. 'title' => 'Недавние посетители',
  11. 'order' => array('date_log', 'desc'),
  12. 'filter' => function($model, $dset){
  13. return $this->model->filterDateYounger('date_log', 3);
  14. }
  15. );
  16.  
  17. return $datasets;
  18.  
  19. }
  20.  
  21. }
и наслаждаемся
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.