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

+18
2.12K
Часто бывает, что пользователь юзает сайт и не обращает внимания на то, что у него есть новое сообщение.
Вот небольшой хак.
Почти в самый конец файла 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 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 10 лет назад #
Пользовался неделю, сейчас хочу удалить! в принципе он мне нравится, но за ним есть бока! когда приходит сообщение он постоянно выводит надоедливое окошко, и на одно сообщение 2 раза! когда гость заходит на сайт, ещё не регистрируясь, а просто гуляя по сайту, его так же преследует это сообщение, и от него не избавится! минусить не буду, всё таки для нас делалось, исправьте ошибки пожалуйста! а так плюс, хак нужный!
0
Александр I Александр I 10 лет назад #
Artem, hummer7887, какая у вас версия InstanCMS, какой браузер?
Хак установлен на версии 1.10.2 - в GoogleChrome ваша проблема не подтверждается.
0
Artem Artem 10 лет назад #
Стоит 1.10.3, Хром и Яндекс браузеры
0
Шадринец Шадринец 10 лет назад #
Когда приходит сообщение он постоянно выводит надоедливое окошко, и на одно сообщение 2 раза! когда гость заходит на сайт, ещё не регистрируясь, а просто гуляя по сайту, его так же преследует это сообщение.Я Подтверждаю данный Факт. поставил на 1.10.1 проверил в опере и Мозиле.

Еще от автора

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