Здесь про Progressive Web Apps, Push уведомления и firebase, может кто-нибудь пробовал, будет через WebView работать?
На instante есть дополнение на эту тему instantcms.ru/addons/pwa-for-instantcms.html, но вроде функционал push уведомлений там не реализован.

Vladimir
+51
Репутация
88
Рейтинг
"Очистить все уведомления" на отдельной странице не работает.
Когда пользователь 1, заходит к пользователю 2 в профиль и нажимает "Добавить в друзья", появляется ajax окно с запросом о добавлении в друзья, оно не связано с уведомлениями, более того, по прямой ссылке мойсайт.ру/users/friend_add/2, отрисованно не корректно. Ещё раз за окно о добавлении в друзья, я думаю отвечает этот кодВот это не понял.
return $this->cms_template->renderAsset('ui/confirm', array(
'confirm_title' => sprintf(LANG_USERS_FRIENDS_CONFIRM, $friend['nickname']),
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id'])
), $this->request);
'confirm_title' => sprintf(LANG_USERS_FRIENDS_CONFIRM, $friend['nickname']),
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id'])
), $this->request);
$notice = array(
'content' => sprintf(LANG_USERS_FRIENDS_NOTICE, $sender_link),
'options' => array(
'is_closeable' => false
),
'actions' => array(
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => $this->name,
'action' => 'friend_add',
'params' => array($this->cms_user->id)
),
.........
....
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => cmsCore::getController('content', $this->name),
'action' => 'friend_add',
'params' => $mail['friend_link']
),
....
'accept' => array(
'title' => LANG_ACCEPT,
'controller' => cmsCore::getController('content', $this->name),
'action' => 'friend_add',
'params' => $mail['friend_link']
),
....
У меня ещё есть задача, нужно через стандартные уведомления сделать запрос в друзья, в контроллере users в экшене friend_add не совсем понятно, потому-что там отправка идёт через ajax, и отправка выглядит так:
может это сделать как-то из параметра подтверждения запроса в друзья, который так же в экшене friend_add, сообщение так выглядит:
Но не знаю как обратиться из своего компонента к экшену friend_add, пробовал так:
Не работает, ошибки
'confirm_action' => $this->cms_template->href_to('friend_add', $friend['id']) ), $this->request);
'is_closeable' => false ), 'title' => LANG_ACCEPT, 'controller' => $this->name, 'action' => 'friend_add', ), .........
.... 'title' => LANG_ACCEPT, 'controller' => cmsCore::getController('content', $this->name), 'action' => 'friend_add', 'params' => $mail['friend_link'] ), ....
Этот параметр непонятен.'users_friend_accept'
Спасибо!
Не могу понять, как работает sendNoticePM? С sendEmail понятно, к примеру
$messenger->sendEmail($to, $letter);
$to — кому отправляем
$letter — массив с письмом.
А как отправить через sendNoticePM конкретному пользователю. Взять например, как это в группах работает
$messenger->sendNoticePM($notice, 'groups_invite');
$notice — массив с сообщением
'groups_invite' — непонятно
Да и не понятно, как кому-то конкретно отправить?
$messenger->sendEmail($to, $letter);
$to — кому отправляем
$letter — массив с письмом.
А как отправить через sendNoticePM конкретному пользователю. Взять например, как это в группах работает
$messenger->sendNoticePM($notice, 'groups_invite');
$notice — массив с сообщением
'groups_invite' — непонятно
Да и не понятно, как кому-то конкретно отправить?
Другая проблема, все уведомления отображаются на одной странице, скажем 10 ещё можно, а если скажем 100 уведомлений или более…
При том в окне Ajax, тоже нет разбития на страницы.

Нашёл, нужно заменить 20-ю строку в файле frontend.php
if (!$this->request->isAjax() && $action_name !== 'index'){ cmsCore::error404(); }
на
if (!$this->request->isAjax() && $action_name !== 'index' && $action_name !== 'notices'){ cmsCore::error404(); }
if (!$this->request->isAjax() && $action_name !== 'index'){ cmsCore::error404(); }
на
if (!$this->request->isAjax() && $action_name !== 'index' && $action_name !== 'notices'){ cmsCore::error404(); }
Не понимаю, почему нет отдельной страницы с уведомлениями. Или как её сделать?
Что сообщения, что уведомления подгружаются через js. Но для личных сообщения есть отдельная страница:
мойсайт.ру/messages
Для уведомлений нет, но вроде все инструменты для её работы есть, как мне кажется:
action:
мойсайт.ру/system/controllers/messages/actions/notices.php
с кодом:
<?php
class actionMessagesNotices extends cmsAction {
public function run(){
$this->cms_template->render('notices', array(
'user' => $this->cms_user,
'notices' => $this->model->getNotices($this->cms_user->id)
));}}
То есть шаблон notices.tpl.php подключается и сам шаблон есть:
мойсайт.ру/templates/default/controllers/messages/notices.tpl.php
Но при переходе
мойсайт.ру/messages/notices
404 ошибка.
Как выводить страницу со всеми уведомлениями?
Что сообщения, что уведомления подгружаются через js. Но для личных сообщения есть отдельная страница:
мойсайт.ру/messages
Для уведомлений нет, но вроде все инструменты для её работы есть, как мне кажется:
action:
мойсайт.ру/system/controllers/messages/actions/notices.php
с кодом:
<?php
class actionMessagesNotices extends cmsAction {
public function run(){
$this->cms_template->render('notices', array(
'user' => $this->cms_user,
'notices' => $this->model->getNotices($this->cms_user->id)
));}}
То есть шаблон notices.tpl.php подключается и сам шаблон есть:
мойсайт.ру/templates/default/controllers/messages/notices.tpl.php
Но при переходе
мойсайт.ру/messages/notices
404 ошибка.
Как выводить страницу со всеми уведомлениями?
Спасибо за предложение!) InSEO 1.1.0 не устанавливается на версию InstantCMS 2.3.1., ошибка после установки.Ну, в общем, я вас не уговариваю. Так, мимо проходил.
Да хочется чтобы сразу из стандартной системы всё работало. Покупал ранее InSEO, не помню точно почему, но не стал её использовать. Сейчас протестировал на InCMS 2.13.1, InSEO не работает (версия 1.0.8). Есть ещё Редирект-Центр, мощный компонент по SEO, но там вообще нет поля местоположение. Итого, нужно ремонтировать стандартный {filter_string}.
500 руб., за починку параметра {filter_string} для поля местоположение в SEO для категорий.
Как найти ту часть кода, которая отвечает за вывод поля местоположение в записи к примеру в тайтле?
filter_string используется в 4-х файлах:
\system\controllers\content\frontend.php
\system\controllers\admin\forms\form_ctype_basik.php
\system\controllers\admin\forms\form_ctype_dataset.php
\system\controllers\admin\forms\form_ctype_filter.php
\system\controllers\content\frontend.php
\system\controllers\admin\forms\form_ctype_basik.php
\system\controllers\admin\forms\form_ctype_dataset.php
\system\controllers\admin\forms\form_ctype_filter.php