У меня возникла проблема с реализацией AJAX‑эндпоинта для получения статистики по выбранному диапазону дат. По умолчанию стандартные периоды (Сегодня, Вчера, Неделя, Всего) отображаются корректно, но когда я пытаюсь получить данные по произвольному диапазону (через GET‑параметры start и end), возвращается ошибка 404.
в grid_adblock.php
добавил
'title' => 'Статистика',
'class' => 'view ajax-modal',
'href' => href_to
($controller->root_url, 'adblock_statistics', array('{id}')), )
Появляется модальное окно.

Я создал файл с названием adblock_statistics_ajax.php в каталоге
/system/controllers/adsman/backend/actions/
и внутри файла объявил класс:
<?php
class actionAdsmanAdblockStatisticsAjax extends cmsAction {
public function run($id) {
if (!$this->request->isAjax()) {
cmsCore::error404();
}
$start = $this->request->get('start', '');
$end = $this->request->get('end', '');
return $this->cms_template->renderJSON(['error' => 'Начальная и конечная даты обязательны.']);
}
try {
$result = $this->model->getRangeStatistics($id, $start, $end);
if (!$result) {
$result = ['hits' => 0, 'click' => 0];
}
return $this->cms_template->renderJSON($result);
} catch (Exception $e) {
return $this->cms_template->renderJSON(['error' => $e->getMessage()]);
}
}
}
В методе вызывается метод модели getRangeStatistics, который дополняет переданные даты до «00:00:00» и «23:59:59» и возвращает сумму значений в колонках hits_count и click_count.
Маршрутизация:
URL для AJAX‑запроса формируется функцией href_to
$rangeUrl = href_to
($this->controller->root_url, 'adblock_statistics_ajax', array($ads['id']));
Однако, при прямом обращении по полученному URL, например:
https://example.com/admin/adsman/adblock_statistics_ajax/2?start=2025-01-01&end=2025-10-10
возвращается ошибка 404.
Какие ещё возможны причины, по которым файл моего AJAX‑эндпоинта не находится системой?
Как правильно настроить маршрутизацию для такого эндпоинта, чтобы URL, сформированный через href_to, корректно указывал на мой файл adblock_statistics_ajax.php?
Может ли проблема быть связана с значением $this->controller->root_url или с какими-либо настройками системы, влияющими на поиск файлов в каталоге /system/controllers/adsman/backend/actions/?
Буду благодарен за любые советы или решения, которые помогут устранить ошибку 404 для моего AJAX‑эндпоинта и правильно получать данные по произвольному диапазону дат.