Вывод сообщений пользователей в двойке

#32 18 ноября 2019 в 12:44
На странице гораздо лучше, особенно на мобильниках — всплывающее окно не нужно, там лучше вообще по минимуму всплывающего.
Я так понимаю, примерно так же можно и уведомления сделать? А то они чет совсем не очень выглядят, особенно когда их много, да еще эти два крестика непонятных. Без бутылки не разобраться, по умолчанию все закрывают окно уведомлений и думают, что уведомления как бы прочитаны, но счетчик не сбрасывается.
Смущает, что все переделки требуют изменения файлов в system, обновления становятся интересным испытанием popcorn
#33 18 ноября 2019 в 13:57

Без бутылки не разобраться, по умолчанию все закрывают окно уведомлений и думают, что уведомления как бы прочитаны, но счетчик не сбрасывается.

alkokrolik
Здесь можно похимичить без

изменения файлов в system

alkokrolik
Например, добавить столбец в таблицу уведомлений (is_прочитано), а в шаблон notices.tpl.php добавить в foreach строчку
  1. <?php if ($notices) {
  2. if($notice['is_прочитано']== 0){ cmsCore::getModel('users')->update('users_notices', $notice['id'], array('is_прочитано' => '1'), true); }
  3. } ?>
и не будет

обновления становятся интересным испытанием

@noname
так как изменения в шаблоне да и одна строчка. Вариант инвалидный и придуман вот счас на ходу(девственным мозгом). Я уверен есть идеальный вариант который решает эту проблему и многие другие так чтоб не приходилось боятся в будущем за обновления.
#34 18 ноября 2019 в 14:10
Кстати сделал все как тут на 1-2 странице описано.
ЛС работают, со стилями немного поколдую. Но отправка по ctrl+enter не работает.
#35 18 ноября 2019 в 14:11

так же можно и уведомления сделать? А то они чет совсем не очень выглядят,

alkokrolik
А с уведомлениями вообще можно поиграться через JQuery ( .load ) например:
  1. $('#куда_грузим').load('https://***/messages/notices');
и сделать как в ВК. Выпадающий под колокольчиком если таковой имеется или ещё как. Опять же говорю, метод дрянь, чисто так для размышления))))
#36 18 ноября 2019 в 15:17
Killer's dream, ну в вк достаточно 1 раз нажать, они показываются списком и ты их как бы прочитал.
#37 18 ноября 2019 в 16:53

ну в вк достаточно 1 раз нажать, они показываются списком и ты их как бы прочитал.

alkokrolik
Если применить всё что я написал сверху именно так и получится.
Нажали на кнопку уведомлений, появился список и все уведомления отметятся прочитанными. Продолжая висеть в списке, удалить можно по крестику
#38 4 августа 2024 в 18:03

Например, добавить столбец в таблицу уведомлений (is_прочитано), а в шаблон notices.tpl.php добавить в foreach строчку

  1. <?php if ($notices) {
  2. if($notice['is_прочитано']== 0){ cmsCore::getModel('users')->update('users_notices', $notice['id'], array('is_прочитано' => '1'), true); }
  3. } ?>

Если применить всё что я написал сверху именно так и получится. 
Нажали на кнопку уведомлений, появился список  и все уведомления отметятся прочитанными. Продолжая висеть в списке, удалить можно по крестику 

Знаю что все уже испарились. Но, как бы вот поподробнее этот момент?

Я сделал через onclick display none но, при перезагрузке страницы, счетчик снова показывает (кол-во). Плохой вариант короче.

#39 7 августа 2024 в 23:47

Сделал так. Пока длится сессия, будут скрыты. Не очень вариант, через localStorage и cookies делать не стал, так как при появлении новых уведомлений их не покажет пока cookies не почистишь. А так будет скрыто до окончания сессии, сколько она там длится я не в курсах… Но уж точно меньше чем localStorage.

Так хоть мозолить глаз не будет, и всегда можно будет кликнуть на колокольчик чтоб посмотреть новые уведомления. Просто не охотно сразу уведомления удалять. Пускай они там будут если надо будет по быстрому зайти на комментарий..

  1.  
  2. $(".nav-link").click(function(){
  3. document.getElementById('counter').style.display = 'none';
  4. sessionStorage.setItem('btnClicked', true);
  5. });
  6.  
  7. $(document).ready(function (){
  8. var clicked = sessionStorage.getItem("btnClicked");
  9. if(clicked){
  10. $(".counter").css("display","none");
  11. }
  12. });
  13.  
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.