Напоминание о новом сообщении

+18
2.2K
Часто бывает, что пользователь юзает сайт и не обращает внимания на то, что у него есть новое сообщение.
Вот небольшой хак.
Почти в самый конец файла template.php (перед </body>) добавить код:
  1. <?php
  2. $new_messages = cmsUser::getNewMessages($inUser->id);
  3. if ($new_messages['total']) {
  4. ?>
  5. <script type="text/javascript">
  6. if (confirm("У вас есть новое сообщение!")) {
  7. window.location.href="/users/<?=$inUser->id?>/messages.html";
  8. }
  9. </script>
  10. <? } ?>
0
AndroS AndroS 11 лет назад #
Где будет появляться это напоминание и как оно будет выглядеть?
0
Александр I Александр I 11 лет назад #
Стандартное окно сообщений браузера.
0
Станислав Григорьевич (Мозголом) Станислав Григорьевич (Мозголом) 11 лет назад #
А напоминание то где выводится будет и как?
-1
Александр I Александр I 11 лет назад #

Стандартное окно сообщений браузера.

[/color]
+1
Станислав Григорьевич (Мозголом) Станислав Григорьевич (Мозголом) 11 лет назад #
Я не слепой,да и повторятся не стоило. Лучше бы демо сделали, хотя бы в картинке.
+6
CozaNostra CozaNostra 11 лет назад #
""


v
-1
Trang Trang 11 лет назад #
жуть как выглядит. Поставил минус :(
-1
Александр I Александр I 11 лет назад #
Спасибо за минус! Поржал!!! rofl
-3
Trang Trang 11 лет назад #
что ржачного? И обидеть не хотел. Но выглядит ужасно. Неужели нельзя было обернуть окно во что-нибудь более красивое?
0
Александр I Александр I 11 лет назад #
Trang, если по вашему мнению окно выглядит ужасно, обратитесь к разработчикам вашего браузера.
-1
Trang Trang 11 лет назад #
я написал здесь, потому что это Вы выложили этот ужас. И выложили здесь, а не на форуме разработчиков браузеров. Представляю, если б neomaster такую жуть выложил со своей системой переписки. Это ж как нужно не любить свой сайт, чтоб такое прикрутить...
Комментарии тут для того, чтобы выразить свои замечания. Я свою позицию выразил. Можете пропустить мимо ушей, дело Ваше
+5
lokanaft lokanaft 11 лет назад #
Trang, вы нашли до кого добадаться. Почему к более крупным "поделкам", но выглядящих аналогично, вы не имеете претензий?
-2
Trang Trang 11 лет назад #
я ещё раз повторяю- я ни до кого не "добадывался". Не нужны человеку комментарии- пусть их отключает. Я высказал свою точку зрения. И повторяю, что это ужос. В чём проблема?

По другим "поделкам"- где считаю нужным, там и комментирую. Или мне перед Вами отчитываться, где я комментирую и почему?

N.B. не превращайте комменты в сральник. И не надейтесь, что всем всё понравится. Мне- НЕ нравится. Это и написал
0
Александр I Александр I 11 лет назад #
Спасибо за коммент, Trang. Поржал еще раз! rofl
+3
lokanaft lokanaft 11 лет назад #
после </html>
Шутка?
0
Александр I Александр I 11 лет назад #
Пост поправил.
+2
Николай Николай 11 лет назад #
Хак без условно нужный на сайте так как действительно мало кто постоянно смотрит на свои сообщения+, но не большое не удобство в том что окно всплывает еще повторно и при открытие сообщений а при уведомлениях вобще что то не понятное пока не нажмеш на отмену всплывает окно.Может такой баг только уменя, тогда сори.
+14
SJen Гость 11 лет назад #
Побаловался с кодом, вот что вышло
""


На скрине мой дизайн окна сообщений, у вас будет примерно так
""


1. сообщение выводится в дизайне стандартных сообщений инстанта.
2. на странице сообщений не выскакивает
3. к "разработчикам браузеров" можно не обращаться - дизайн окна как у всех всплывающих сообщений на сайте
4. минус - работает на версиях 1.10+. На 1.9 если не ошибаюсь всплывающих окон не было.

Сам код:
Код PHP:
  1. <?php
  2. $new_messages = cmsUser::getNewMessages($inUser->id);
  3. if ($new_messages['total']) {
  4. ?>
  5. <script type="text/javascript">
  6. jQuery(document).ready(function() {
  7. if (window.location.href.search('messages.html')=='-1') {
  8. core.confirm('У вас есть новое сообщение, открыть?', null, function(){
  9. window.location.href="/users/<?php echo $inUser->id; ?>/messages.html";
  10. });
  11. }
  12. });
  13. </script>
  14. <? } ?>
Но решение не совсем по феншую.. По мне, так логичнее было бы это писать в шаблоне модуля "Меню пользователя" с добавлением настроек в админку модуля.
+3
Smith Smith 11 лет назад #
В дополнение могу предложить варантом воспользоваться blockUI, демо можно глянуть здесь:
http://www.malsup.com/jquery/block/#demos
+1
Димитриус Димитриус 11 лет назад #
На 1.9 если не ошибаюсь всплывающих окон не было.
всё верно
+1
AndroS AndroS 11 лет назад #
Респект!
+1
Майкл Майкл 11 лет назад #
Ого SJen появился!) Есть новые поделки?
0
Trang Trang 11 лет назад #
пусть не "по фэн-шую", но уже хоть божеский вид... респект
+3
Александр I Александр I 11 лет назад #
В варианте предложенном SJen не учитываются системные уведомления.
Вот так будет правильно:
Код PHP:
  1. <?php
  2. $new_messages = cmsUser::getNewMessages($inUser->id);
  3. if ($new_messages['total']) {
  4. ?>
  5. <script type="text/javascript">
  6. jQuery(document).ready(function() {
  7. if (window.location.href.search('messages<?php if ($new_messages['notices']) echo '-notices'; ?>.html')=='-1') {
  8. core.confirm('У вас есть новое сообщение, открыть?', null, function(){
  9. window.location.href="/users/<?php echo $inUser->id; ?>/messages<?php if ($new_messages['notices']) echo '-notices'; ?>.html";
  10. });
  11. }
  12. });
  13. </script>
  14. <? } ?>
0
Artem Artem 11 лет назад #
Поставил в самый конец template.php перед тегом /body код из предыдущего комментария.
и теперь всегда, при заходе незарегистрированным пользователем - выскакивает указанное напоминание.
Что это может быть????
0
Patriot Patriot 11 лет назад #
Возможно этот хак подружить с этим плагином? Чтобы вместо стандартной переписки, открывался NeoMessenger.
0
hummer7887 hummer7887 11 лет назад #
Пользовался неделю, сейчас хочу удалить! в принципе он мне нравится, но за ним есть бока! когда приходит сообщение он постоянно выводит надоедливое окошко, и на одно сообщение 2 раза! когда гость заходит на сайт, ещё не регистрируясь, а просто гуляя по сайту, его так же преследует это сообщение, и от него не избавится! минусить не буду, всё таки для нас делалось, исправьте ошибки пожалуйста! а так плюс, хак нужный!
0
Александр I Александр I 11 лет назад #
Artem, hummer7887, какая у вас версия InstanCMS, какой браузер?
Хак установлен на версии 1.10.2 - в GoogleChrome ваша проблема не подтверждается.
0
Artem Artem 11 лет назад #
Стоит 1.10.3, Хром и Яндекс браузеры
0
Шадринец Шадринец 10 лет назад #
Когда приходит сообщение он постоянно выводит надоедливое окошко, и на одно сообщение 2 раза! когда гость заходит на сайт, ещё не регистрируясь, а просто гуляя по сайту, его так же преследует это сообщение.Я Подтверждаю данный Факт. поставил на 1.10.1 проверил в опере и Мозиле.

Еще от автора

СтопСпам для InstantCMS первой версии
Спамеры задолбали! В теме Спамеры на сайтах Instantcms проблему обсосали на сто рядов. Очень классное решение - подтверждение регистрации по СМС.
Модуль ТОПы пользователей
Раньше модуль был бесплатный и судя по комментариям популярным. Т.к. для новых версий его постоянно приходится переделывать, модуль стал платным.
Модуль ТОПы пользователей. Бесплатный
Написать модуль ТОПы пользователей натолкнул пост на форуме ТОП комментаторов.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.