Как сделать вывод статистики объявлений

InstantCMS 2.X

Статистика на главную

#1 21 октября 2018 в 21:03
Здравствуйте!

Надо выводить статистку общего количества объявлений на сайте с помощью виджета.
Как сделать?

Создание виджета с нуля смогу сделать просмотрев видео туториал, а вот прописать код по статистике что и куда то здесь нужна ваша подсказка

За ранее спасибо за помощь!
#2 21 октября 2018 в 21:10

нужна ваша подсказка

AS31

Если только подсказка, то можете использовать метод котроллера content getContentItemsCount($ctype_name) — он возвращает количество записей в указанном типе контента
#3 22 октября 2018 в 10:34


Если только подсказка, то можете использовать метод котроллера content getContentItemsCount($ctype_name) — он возвращает количество записей в указанном типе контента

@SmartControl

Да, подсказка имел ввиду с примерами.

А можно подробно и по шагам описать в какой файл виджета и какие коды прописать что вывод был таким как на скрине...

Спасибо!
Прикрепленный файл
_uir7v.jpg 163 Кб
#5 22 октября 2018 в 11:02
@elv3327

Да, для вывода в категориях пригодится, но мне как скрине вывести надо...

Именно вот так:

++++++++++++++++++++++++++++++++
Дата: 2018.10.21

Сегодня: 989 Всего объявлений: 96586
++++++++++++++++++++++++++++++++

А так спасибо, возьму на заметку.
#6 22 октября 2018 в 11:48
  1. $content_model = cmsCore::getModel('content');
  2. $board_count = $content_model->getContentItemsCount('board');
  3. $day_count = $content_model->resetFilters()->filterDateYounger('date_pub', 1, 'day')->getContentItemsCount('board');
  4. echo 'Сегодня '.$day_count.' Всего объявлений: '.$board_count;
Запрос можете подправить на нужную фильтрацию. Ну и стили как вам нужно сделать.

ДЕМО
#7 22 октября 2018 в 12:15
Белая страница с этим кодом. На сайте: пользователей — 2, записей в блоге — 1 работает
#8 22 октября 2018 в 12:22

Белая страница

@elv3327
Поправил (запятую пропустил)
#9 22 октября 2018 в 12:32
а мне нужно выводить расширенную статистику
#10 24 октября 2018 в 02:11

Запрос можете подправить на нужную фильтрацию. Ну и стили как вам нужно сделать.

Kreator

Виджет установил, все работает. Но не смог включить стиль к коду

echo '<div id='стиль'>Сегодня <span id='цвет'> '.$day_count.'</span> Всего объявлений: <span='цвет>'.$board_count;</span></div>

Выдает ошибку
#11 24 октября 2018 в 10:08

echo '<div id='стиль'>Сегодня <span id='цвет'> '.$day_count.'</span> Всего объявлений: <span='цвет>'.$board_count;</span></div>

AS31

что-то у вас тут с кавычками беда. Непонятно где какая открывается и закрывается.

Поменяйте на
  1. echo "<div id='стиль'>Сегодня <span id='цвет'>{$day_count}</span> Всего объявлений: <span='цвет'>{$board_count}</span></div>";
#12 24 октября 2018 в 13:56
Все получилось идеально, так как я хотел.
Вот код кому если понадобится:

  1. $content_model = cmsCore::getModel('content');
  2. $board_count = $content_model->getContentItemsCount('board');
  3. $day_count = $content_model->resetFilters()->filterDateYounger('date_pub', 1, 'day')->getContentItemsCount('board');
  4. echo "<div style='font-size: 30px; font-weight: bold;'>Сегодня: <span style='font-weight: bold; color: #af0000;'>{$day_count}</span>&nbsp;&nbsp;&nbsp; Всего объявлений: <span style='font-weight: bold; color: #af0000;'>{$board_count}</span></div>";



Отдельное благодарность Kreator и @SmartControl и также @elv3327
#13 24 октября 2018 в 14:14
Kreator

Исходя из наблюдения более 3 часов почему то объявления добавляются но счетчики не увеличиваются, иногда вообще не меняются либо на 1 две умещаются. Странно!
#14 24 октября 2018 в 15:00

Исходя по наблюдения более 3 часов почему то объявления добавляются но счетчики не увеличиваются, иногда вообще не меняются либо на 1 две умещаются. Странно!

AS31

это называется Кэш — виджет сохраняет данные в кэше и не обновляет их при каждом отображении.
#15 24 октября 2018 в 15:02
У виджетов должна быть возможность отключить кеш.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.