Вот этот банер (litbanner) это же дополнение… Вполне можешь починить.
Добрый день. Ссылку на Ваш сайт пришлите.
Вот этот банер (litbanner) это же дополнение… Вполне можешь починить.
Добрый день. Ссылку на Ваш сайт пришлите.
Всем привет. Подскажите как получить записи выбранного типа контента. Или всем списком или в виде поиска. Начинаем указывать название записи и появляются записи, выбираем именно ту которую нужно и сохраняем её id. Это касается в компоненте в backend.
Категории получаю так.
'title' => 'Тип категории', 'default' => 1, 'generator' => function($ctype) use ($content_model) { $tree = $content_model->getContentTypes(); $items = []; if ($tree) { foreach ($tree as $item) { $items[$item['id']] = $item['title']; } } return $items; }, )), 'title' => 'Под категории', 'list' => 'ctype_id', 'url' => href_to('content', 'widget_cats_ajax') ), 'generator' => function($item, $request) use ($content_model) { $list = ['' => '']; if (!$ctype_id && $request) { $ctype_id = $request->get('ctype_id', 0); } if (!$ctype_id) { return $list; } $ctype = $content_model->getContentType($ctype_id); if (!$ctype) { return $list; } $cats = $content_model->getCategoriesTree($ctype['name']); if ($cats) { foreach ($cats as $cat) { if ($cat['ns_level'] > 1) { } $list[$cat['id']] = $cat['title']; } } return $list; }, )),
Всем спасибо. Вопрос решён. Была моя не внимательность.
при прямом обращении по полученному URL, например: Litemir Думаю, так и должно быть. Работает if (!$this->request->isAjax()) { cmsCore::error404(); }
Это понятно. Как получить данные, вот вопрос.
У меня возникла проблема с реализацией AJAX‑эндпоинта для получения статистики по выбранному диапазону дат. По умолчанию стандартные периоды (Сегодня, Вчера, Неделя, Всего) отображаются корректно, но когда я пытаюсь получить данные по произвольному диапазону (через GET‑параметры start и end), возвращается ошибка 404.
в grid_adblock.php
добавил
'title' => 'Статистика', 'class' => 'view ajax-modal', )
Появляется модальное окно.
Я создал файл с названием 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
Однако, при прямом обращении по полученному 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‑эндпоинта и правильно получать данные по произвольному диапазону дат.
pupsik, надо один раз создать свой дочерний шаблон, и будет вам счастье.
Поддерживаю.
При установке дополнений (из каталога или через файл) пишет что «Пакет дополнения был успешно установлен» Но реально дополнения не устанавливается — его нет нигде в админке и среди установленных
Удалите всё из базы и с хостинга что связано с этим дополнением.
Всем привет. Подскажите, как сделать возможность загрузки несколько файлов для категории?
Я пишу виджет в нем цепляю на кнопку модальное окно Litemir Каким образом цепляете? Так пробовали? <a class=«ajax-modal btn btn-primary» href=«forms/ИД_формы»>Открыть форму</a>
Я форму получаю и вывожу в своём модальном окне. С этим всё в порядке. Хотелось бы в ней же выводить и предупреждение о том что форма уже отправлена. Вашим вариантом окно с предупреждением как и в моём варианте открывается в другом окне.
Все привет. Делаю форму в модальном окне. Форму получаю так: <?Litemir есть же в компонентах свой генератор форм встроенный
Я пишу виджет в нем цепляю на кнопку модальное окно, получаю с конструктора форм все формы и выбераю какую именно мне использовать. Всё работает, а вот с предупреждением не могу разобраться покамест.
Все привет. Делаю форму в модальном окне.
Форму получаю так:
<?php // Подключаем контроллер форм $forms_controller = cmsCore::getController('forms'); // Получаем ID формы из настроек виджета $form_id = !empty($widget->options['litbanner_form_id']) ? $widget->options['litbanner_form_id'] : null; if ($form_id) { // Получаем данные формы if ($form && $form_data) { ?> <div class="position-relative icms-forms__wrap"> <?php } ?> <?php } ?> <?php // Рендер формы $this->renderForm($form, [], $form_data['params'], false); ?> </div> <?php } else { echo "<p>Форма не найдена.</p>"; } } else { echo "<p>Идентификатор формы не задан.</p>"; } ?>
С этим всё хорошо.
Хочу разместить ошибку об отправке если повторная отправка в своё модальное окно.
Подскажите как реализовать или куда копать?