Ajax Base - Обновление данных без перезагрузки

Поддержка, переводы и разработка модификаций, расширений для форумов phpbb 3.0\3.1
Правила форума
Не загружайте скриншоты(изображения) на внешние хостинги и размещения их ссылок в сообщениях. Такие сообщения могут остаться без ответа или будут удалены!
Ответить Вложения 4
Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

Ajax Base - Обновление данных без перезагрузки

Сообщение Anvar » 16.11.2015, 13:31 #1

Обновление счётчика личных сообщений форума, а также уведомлений, обновление данных статистики форума и кто сейчас на конференции без перезагрузки страницы, посредством AJAX.

В официальной базе: Ajax Base (без личных сообщений и уведомлений)

Добавил ЛС и уведомления, а также немного оптимизировал.

Для интеграции с PM Notify & Guest Register bar

Необходимо открыть pmregbar\pmregbar-master\styles\all\template\event\overall_header_body_before.html
Replace with all Заменить содержимое полностью на следующее:

Код: Выделить всё

<!-- IF not S_USER_LOGGED_IN and not S_IS_BOT and not S_IN_UCP and PMREGBAR_ENABLEREG -->
<div id="info"><div id="infobar">
<a href="{U_REGISTER}"><span class="pm-reg"></span><!-- IF not PMREGBAR_ENABLE_TEXT -->{L_PMREGBAR_WELCOME} {SITENAME}. {L_PMREGBAR_REGISTER}<!-- ELSE -->{PMREGBAR_TEXT_FIELD} <!-- ENDIF --><span class="pm-reg"></span></a>
</div></div>
<!-- ENDIF -->

<!-- IF not S_IS_BOT and S_USER_LOGGED_IN and S_DISPLAY_PM and (S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG or U_AJAX_BASE_PRIVATEMSGS) and PMREGBAR_ENABLEPM -->
<div id="info"><!-- IF S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG --><div id="infobar">
<a href="{U_PRIVATEMSGS}"><span class="pm-mail"></span>{L_PMREGBAR_HELLO} {S_USERNAME} {L_PMREGBAR_YOUHAVE} {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD --> {L_PMREGBAR_AND} {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --><span class="pm-mail"></span></a>
</div><!-- ENDIF --></div>
<!-- ENDIF -->
Вложения
Ajax Base + Private & Notification.zip
(14.07 КБ) 51 скачивание
Не пишите в ЛС и ICQ вопросы которые можете задать на форуме!
Заказы по разработке не выполняю!

Аватара пользователя
Димка Куликов
bb3.0.2
bb3.0.2
Сообщения: 28
Зарегистрирован: 16.11.2015, 18:48

Ajax Base - Обновление данных без перезагрузки

Сообщение Димка Куликов » 16.11.2015, 19:25 #2

Отличная идея :) Было бы неплохо ещё сделать в ajax "Текущее время", т.к. оно становится неактуальным, если ЛС и статистика обновляются без перезагрузки.

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

Ajax Base - Обновление данных без перезагрузки

Сообщение Anvar » 16.11.2015, 20:06 #3

Текущее время лучше сделать с автоматическим пересчётом, ajax не нужен для этих целей.

Аватара пользователя
Димка Куликов
bb3.0.2
bb3.0.2
Сообщения: 28
Зарегистрирован: 16.11.2015, 18:48

Ajax Base - Обновление данных без перезагрузки

Сообщение Димка Куликов » 17.11.2015, 18:16 #4

Нашёл баг, если ЛС нет, то через 15 секунд появляется в левом углу какой-то "0". Исправь пожалуйста
Ajax Base - Обновление данных без перезагрузки - 2015-11-17_181517.png
Ajax Base - Обновление данных без перезагрузки - 2015-11-17_181517.png (1.48 КБ) 3319 просмотров

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

Ajax Base - Обновление данных без перезагрузки

Сообщение Anvar » 18.11.2015, 16:38 #5

Открываем ext\senky\ajaxbase\styles\prosilver\template\ajax_base\pm_note.html
Replace with Замените весь код, новым содержимым.

Код: Выделить всё

<!-- IF S_AJAX_BASE_NOTIFICATION -->
<a href="{U_VIEW_ALL_NOTIFICATIONS}" id="notification_list_button" class="dropdown-trigger"><span>{L_NOTIFICATIONS} [</span><strong>{NOTIFICATIONS_COUNT}</strong><span>]</span></a>
<!-- INCLUDE notification_dropdown.html -->
<!-- ELSE IF S_AJAX_BASE_PMREGBAR -->
<!-- IF S_USER_NEW_PRIVMSG or S_USER_UNREAD_PRIVMSG -->
<div id="infobar">
<a href="{U_PRIVATEMSGS}"><span class="pm-mail"></span>{L_PMREGBAR_HELLO} {S_USERNAME} {L_PMREGBAR_YOUHAVE} {PRIVATE_MESSAGE_INFO}<!-- IF PRIVATE_MESSAGE_INFO_UNREAD --> {L_PMREGBAR_AND} {PRIVATE_MESSAGE_INFO_UNREAD}<!-- ENDIF --><span class="pm-mail"></span></a>
</div>
<!-- ENDIF -->
<!-- ELSE -->{PRIVATE_MESSAGE_COUNT}<!-- ENDIF -->

Аватара пользователя
Димка Куликов
bb3.0.2
bb3.0.2
Сообщения: 28
Зарегистрирован: 16.11.2015, 18:48

Ajax Base - Обновление данных без перезагрузки

Сообщение Димка Куликов » 18.11.2015, 16:48 #6

Anvar, Спасибо, помогло :) А как можно сделать звук на приход уведомлений в ajax base?

Аватара пользователя
Anvar
Администратор
Администратор
Сообщения: 1298
Зарегистрирован: 08.08.2014, 14:26

Ajax Base - Обновление данных без перезагрузки

Сообщение Anvar » 18.11.2015, 17:14 #7


Аватара пользователя
Димка Куликов
bb3.0.2
bb3.0.2
Сообщения: 28
Зарегистрирован: 16.11.2015, 18:48

Ajax Base - Обновление данных без перезагрузки

Сообщение Димка Куликов » 18.11.2015, 17:18 #8

Anvar писал(а):Красивые уведомления о новых событиях со звуком это расширение не срабатывает?
неа, в аякс не срабатывает. и хочется звук с дефолтным оформлением и расположением уведомлений, ЛС, а там изменено чуть(

Аватара пользователя
Димка Куликов
bb3.0.2
bb3.0.2
Сообщения: 28
Зарегистрирован: 16.11.2015, 18:48

Ajax Base - Обновление данных без перезагрузки

Сообщение Димка Куликов » 09.01.2016, 23:17 #9

Для 3.1.7 можно адаптировать? Некорректно работает статистика. В 3.1.6 нормально.


Ответить Вложения 4