info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ Сообщений: 18 ]  Просмотры: 316

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Popup Layer on New PMs - Новое уведомление о ЛС

Сегодня хотелось бы представить очередной полезный мод для phpbb3, а именно Popup Layer on New PMs/Новое уведомление о ЛС. В чем суть мода ??? Обьясню на пальцах - в стандартном функционале phpbb3 уже вшито уведомление пользователей о новом личном сообщении, но оно реализовано посредством всплывающего окна. Чем это плохо? У многих пользователей, заботящихся о интернет-безопасности, в браузере установлено блокирование всех всплывающих окон, сами видели много сайтов с надоедливой рекламой. Так вот, анонсируемый мной мод устроен немного иначе - он осуществляет уведомление не посредством всплывающего окна, а с помощью нового всплывающего слоя. - от автора темы DeaDRoMeO.

На одном из моих сайтов эта модификация выглядела так:

постер

Если вам это интересно - приступим к установке:

Скачать модификацию из архива сайта

Скачать из файлового архива сайта

распаковать и содержимое папки root скопировать в корень сайта (где файл config.php).
после чего приступаем к редактированию файлов форума.

Открыть includes/functions.php

Найти

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

   $l_privmsgs_text = $l_privmsgs_text_unread = '';
   $s_privmsg_new = false;


Вставить после найденного

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

   //Popup Layer on New PMs
   $l_new_message_popup = $pm_popup_click = '';


Найти

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

            $sql = 'UPDATE ' . USERS_TABLE . '
               SET user_last_privmsg = ' . $user->data['session_last_visit'] . '
               WHERE user_id = ' . $user->data['user_id'];
            $db->sql_query($sql);

            $s_privmsg_new = true;


Вставить после найденного

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

            //Popup Layer on New PMs
            $l_new_message_popup = ($user->data['user_new_privmsg'] == 1) ? $user->lang['YOU_NEW_PM'] : $user->lang['YOU_NEW_PMS'];
            $pm_popup_click = sprintf($user->lang['CLICK_VIEW_PRIVMSG'], '<a href="' . append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;folder=inbox') . '">', '</a>');


Найти

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

      'A_COOKIE_SETTINGS'      => addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')),


Вставить после найденного

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

      //Popup Layer on New PMs
      'PM_POPUP_MESSAGE'         => $l_new_message_popup,
      'PM_POPUP_CLICK_TO_VIEW'   => $pm_popup_click,



для стилей на основе prosilver
Открыть styles/prosilver/template/overall_header.html

Найти и Удалить код

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

   <!-- IF S_USER_PM_POPUP -->
      if ({S_NEW_PM})
      {
         var url = '{UA_POPUP_PM}';
         window.open(url.replace(/&amp;/g, '&'), '_phpbbprivmsg', 'height=225,resizable=yes,scrollbars=yes, width=400');
      }
   <!-- ENDIF -->


Найти

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

<script type="text/javascript" src="{T_TEMPLATE_PATH}/forum_fn.js"></script>


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
   <script type="text/javascript" src="{T_TEMPLATE_PATH}/opacity.js"></script>
<!-- ENDIF -->


Найти

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

<!-- IF S_CONTENT_DIRECTION eq 'rtl' -->
   <link href="{T_THEME_PATH}/bidi.css" rel="stylesheet" type="text/css" media="screen, projection" />
<!-- ENDIF -->


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
   <!--[if lt IE 7]>
   <link rel="stylesheet" href="{T_THEME_PATH}/ie6-position-fixed.css" type="text/css" media="screen, projection" />
   <![endif]-->
<!-- ENDIF -->


Найти

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

<body id="phpbb" class="section-{SCRIPT_NAME} {S_CONTENT_DIRECTION}">


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<div id="pm-popup" class="panel">
   <p>{PM_POPUP_MESSAGE}<br /><br />{PM_POPUP_CLICK_TO_VIEW}</p>
   <p class="small"><a href="#" onclick="setOpacity('main-block',1);document.getElementById('pm-popup').style.display='none';return false;">{L_CLOSE_WINDOW}</a></p>
</div>
<!-- ENDIF -->

<div id="main-block">



Открыть styles/prosilver/template/overall_footer.html

Найти



Вставить перед найденным

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

</div>

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<script type="text/javascript">
setOpacity('main-block', 0.3);
</script>
<!--[if lt IE 7]>
<script type="text/javascript">
var pmPopupDiv = document.getElementById('pm-popup');
function pmPopup()
{
   if (pmPopupDiv.style.display != 'none')
   {
      pmPopupDiv.style.top = (document.documentElement.scrollTop + parseInt(document.documentElement.clientHeight / 2)) + 'px';
   }
}
window.onscroll = pmPopup;
</script>
<![endif]-->
<!-- ENDIF -->




Открыть styles/prosilver/theme/common.css

Найти

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

/* Search box


Вставить перед найденным

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

#pm-popup {
   position: fixed;
   left: 50%;
   top: 50%;
   z-index: 2;
   width: 400px;
   text-align: center;
   margin-left: -200px;
   margin-top: -100px;
   border: 1px solid #d7e0e4;
   padding: 10px;
}

#main-block {
   width: 100%;
   background-color: white;
}



для стилей на основе subsilver2
Открыть styles/subsilver2/template/overall_header.html

Найти

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

<link rel="stylesheet" href="{T_STYLESHEET_LINK}" type="text/css" />


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
   <!--[if lt IE 7]>
   <link rel="stylesheet" href="{T_THEME_PATH}/ie6-position-fixed.css" type="text/css" />
   <![endif]-->
<!-- ENDIF -->


Найти и Удалить код

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

<!-- IF S_USER_PM_POPUP -->
   if ({S_NEW_PM})
   {
      popup('{UA_POPUP_PM}', 400, 225, '_phpbbprivmsg');
   }
<!-- ENDIF -->


Найти

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

<!-- ENDIF -->

// ]]>
</script>


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
   <script type="text/javascript" src="{T_TEMPLATE_PATH}/opacity.js"></script>
<!-- ENDIF -->


Найти

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

<body class="{S_CONTENT_DIRECTION}">


Вставить после найденного

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<table border="0" cellspacing="0" cellpadding="10" id="pm-popup">
<tr>
   <td>
      <table width="100%" border="0" cellspacing="1" cellpadding="4" class="tablebg">
      <tr class="row1">
         <td valign="top" align="center">
            <br /><span class="gen">
               {PM_POPUP_MESSAGE}<br /><br />{PM_POPUP_CLICK_TO_VIEW}
            </span>
            <br /><br /><span class="genmed"><a href="#" onclick="setOpacity('main-block',1);document.getElementById('pm-popup').style.display='none';return false;">{L_CLOSE_WINDOW}</a></span><br /><br />
         </td>
      </tr>
      </table>
   </td>
</tr>
</table>

<!-- ENDIF -->

<div id="main-block">




Открыть styles/subsilver2/template/overall_footer.html

Найти



Вставить перед найденным

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

</div>

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
<script type="text/javascript">
setOpacity('main-block', 0.3);
</script>
<!-- ENDIF -->



Открыть styles/subsilver2/theme/stylesheet.css

Найти

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

/*  Text


Вставить перед найденным

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

#pm-popup {
   position: fixed;
   top: 50%;
   left: 50%;
   margin-left: -200px;
   margin-top: -100px;
   width: 400px;
   z-index: 2;
   text-align: center;
}

#main-block {
   width: 100%;
   background-color: white;
}


На этом всё. Чистим кэш и радуемся новой доработке.

информация по настройке мода




как сделано на этом форуме
у меня уже сильно переделанный стиль и поэтому доработка в стандартом варианте выглядит некрасиво. немного переделал - получилось так:


Вложение:
Комментарий к файлу: свой вывод на светлом фоне
letter.png
letter.png [ 112.34 КБ | Просмотров: 174 ] letter.png




мой вывод (у меня subsilver2):

я ввёл блок слоя под условие вывода появления сообщения.

Открыть overall_header.html
Найти (показана часть строки)



Вставить после найденного (заменить то, что установили)

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->

<div id="main-block">

<table border="0" cellspacing="0" cellpadding="10" id="pm-popup">
<tr>
   <td>
      <table width="100%" border="0" cellspacing="1" cellpadding="4">
      <tr>
         <td valign="bottom" align="center">
                                <br /><br /><br /><br /><br />
            <br /><span class="gen">
               {PM_POPUP_MESSAGE}<br /><br />{PM_POPUP_CLICK_TO_VIEW}
            </span>
            <br /><br /><span class="genmed"><a href="#" onclick="setOpacity('main-block',1);document.getElementById('pm-popup').style.display='none';return false;">Закрыть письмо</a></span><br /><br />
         </td>
      </tr>
      </table>
   </td>
</tr>
</table>

<!-- ENDIF -->


Открыть overall_footer.html

Найти



Вставить перед найденным

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
</div>
<script type="text/javascript">
setOpacity('main-block', 1,0);
</script>
<!-- ENDIF -->


Открыть theme/stylesheet.css
Добавить в конец файла

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

#pm-popup {
   position: fixed;
   top: 50%;
   left: 50%;
   margin-left: -200px;
   margin-top: -100px;
   width: 400px;
        height: 200px;
   z-index: 5000;
   text-align: center;
        background-image:url('images/letter.jpg');
}

#main-block {
   width: 100%;
}


в процессе применения столкнулся с интересным наблюдением, что браузеры не хотят "подхватывать" новый css-код и вывод не получается. устранил добавлением этого кода прямо в шапку форума. вот так:

открыть overall_header.html

найти

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
   <!--[if lt IE 7]>
   <link rel="stylesheet" href="{T_THEME_PATH}/ie6-position-fixed.css" type="text/css" />
   <![endif]-->
<!-- ENDIF -->


вставить после найденного

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

<style>
#pm-popup {
   position: fixed;
   top: 50%;
   left: 50%;
   margin-left: -200px;
   margin-top: -100px;
   width: 400px;
   height: 200px;
   z-index: 5000;
   text-align: center;
   background-image:url('{T_THEME_PATH}/images/letter.jpg');
}

#main-block {
   width: 100%;
}
</style>


после очистки кэша всё заработало. само собой код для stylesheet.css прописывать не надо.


Загрузить картинку в папку /theme/images/ вашего стиля:

Вложение:
Комментарий к файлу: фон для сообщения
letter.jpg
letter.jpg [ 9.36 КБ | Просмотров: 174 ] letter.jpg






Вложения:
Комментарий к файлу: скрипт для настройки личного сообщения
set_popup.zip [932 байт]
Скачиваний: 37
трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Popup Layer on New PMs,phpbb3,mod
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Belk писал(а):

распаковать и содержимое папки root скопировать в корень сайта (где файл config.php).

Андрей, в парке root файлы для стиля. Их все равно кидать в корень?


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


необходимо файлы загрузить в вашу папку template и theme вашего стиля. если на основе prosilver - взять из папки и загрузить в свой.

инструкция для стандартных стилей.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Belk писал(а):

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

<!-- IF S_USER_PM_POPUP -->
      if ({S_NEW_PM})
      {
         var url = '{UA_POPUP_PM}';
         window.open(url.replace(/&amp;/g, '&'), '_phpbbprivmsg', 'height=225,resizable=yes,scrollbars=yes, width=400');
      }
   <!-- ENDIF -->


У меня такой код:

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

<!-- IF S_USER_PM_POPUP and S_NEW_PM -->
      var url = '{UA_POPUP_PM}';
      window.open(url.replace(/&amp;/g, '&'), '_phpbbprivmsg', 'height=225,resizable=yes,scrollbars=yes, width=400');
   <!-- ENDIF -->


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


удаляйте его. инструкция была написана для более ранних версий phpbb 3., поэтому там такой код. а в версии 14 - точно этот.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Поставил мод. :)
Но он у меня странно работает. Отдельно маленького окошечка нет.
Есть такое:

Изображение
P.S. Форум мутнеет, пока в левом углу не нажмешь "Перейти во входящие " :?


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


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

а то, что выводится не по центру - это, скорее всего, кэш мутит.

попробуйте кэш страницы очистить... CTRL+F5


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Эх... опять все пароли слетят... :bm:

Добавлено спустя 2 минуты 47 секунд:
хм... нифига понять не могу. Кэш почистил и теперь это окошечко не появляется :o :?

Добавлено спустя 2 минуты 40 секунд:
Действительно, помогло :arigato:
Отличная модификация! :arigato: :idea:


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


добавил в тему описание установки "как у меня сделано"


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Поставил конверт, не вижу его у себя на форуме :?
Посмотрим как пройдет тестирование у пользователей.
Позже отпишусь о результатах

Добавлено спустя 1 минуту 58 секунд:
Работает только на главном экране отображение :?

Добавлено спустя 42 секунды:
Если ты в это время в сообщениях, но перейдя на главный экран оповещения не будет

Добавлено спустя 3 минуты 5 секунд:
Ага, понял как работает.
Если отправляешь самому себе ЛС, то после отправки надо сразу идти на главную форума, а если дождаться когда пройдет прокрутка об отправке, то выйдя на главную, оповещения уже не увидишь!

Добавлено спустя 14 секунд:
Надеюсь понятно объяснил :)


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


видите, у вас получилось.. а я самому себе пробовал - не удалось. с другого аккаунта тестировал и другого браузера...

так всё работает?


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


С конвертом нет, а так все работает.
Вот что заметил и это очень печалит (
После установки мода на почту не приходят уведомления о новом ЛС с форума. С этого форума тоже (((


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


приходят. вот ваше сообщение только что:


Изображение


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Извиняюсь, Андрей. Почему то эти письма с обоих форумов попали в папку спам ((( как так то, я их туда не помещал :?

Добавлено спустя 2 минуты 16 секунд:
Андрей, у Вас в первом сообщении окошечко с уведомлением выделено по периметру оконтовкой. Это какой стиль прописан? border?


Последний раз редактировалось Dmitry 28 мар 2018, 17:16, всего редактировалось 1 раз.

Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


у меня тоже в спам приходят... мне лень разбираться...

Добавлено спустя 54 секунды:
Dmitry писал(а):

Андрей, у Вас в первом сообщении окошечко с уведомлением выделено по периметру оконтовкой. Это какое условие прописано?


вы о чём?


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Это mail хитрожопый умнее всех ((
По поводу оконтовки в посту выше ;)

Добавлено спустя 1 минуту 1 секунду:
Окошечко уведомления по периметру выделено 1 px рамкой. Как вы это сделали?


Не в сети
(Андрей)  
2018-03-28 
Администратор
Аватара пользователя

Стаж: 8 лет 1 день
Сообщения: 1219
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


в стилевое оформление

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

#pm-popup {


добавьте

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

border:1px solid #c1c1c1;


как-то так. того форума, с которого сделан скан, больше нет.


трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
Не в сети
(Дмитрий)  
2018-03-28 
Аватара пользователя

Стаж: 6 лет 8 месяцев 8 дней
Сообщения: 731


Стиль: prosilver


Репутация: 15




Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Спасибо!


Показать сообщения за:  Поле сортировки  
Ответить на тему  [ Сообщений: 18 ] 

Кто сейчас на сайте:

Всего посетителей: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (46) здесь было 01 янв 2023, 13:40

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 0

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  




cron

Текущее время: 22 сен 2023, 16:55

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид