Динамическое "Новое ЛС" (AJAX new PM)
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
evrus01
- Former team member
- Сообщения: 1274
- Стаж: 15 лет 6 месяцев
- Откуда: Москва
- Благодарил (а): 107 раз
- Поблагодарили: 234 раза
Динамическое "Новое ЛС" (AJAX new PM)
Если коротко, то необходимо, чтобы информация о новом ЛС приходила без перезагрузки страницы.
Поиск дал следующее:
http://www.phpbb.com/community/viewtopi ... &t=2094406
Работающий вариант на основе мода Ajax base
Но вот незадача — мод Ajax Base требует jQuery (а у меня в шаблоне mootools).
Поиск дал следующее:
http://www.phpbb.com/community/viewtopi ... &t=2094406
Работающий вариант на основе мода Ajax base
Но вот незадача — мод Ajax Base требует jQuery (а у меня в шаблоне mootools).
Я использую следующие модификации | Памятка
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
Создать в корневой папке форума файл pm.php следующего содержания:
Найти в overall_header.html
заменить на (jQuery)
или на (MooTools 1.1)
Код: Выделить всё
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$user->setup();
if (!empty($user->data['is_registered']))
{
if ($user->data['user_new_privmsg'])
{
$l_message_new = ($user->data['user_new_privmsg'] == 1) ? $user->lang['NEW_PM'] : $user->lang['NEW_PMS'];
$l_privmsgs_text = sprintf($l_message_new, $user->data['user_new_privmsg']);
}
else
{
$l_privmsgs_text = $user->lang['NO_NEW_PM'];
}
echo $l_privmsgs_text;
}
garbage_collection();
exit_handler();
?>Код: Выделить всё
<!-- IF S_DISPLAY_PM --> (<a href="{U_PRIVATEMSGS}">{PRIVATE_MESSAGE_INFO}</a>)<!-- ENDIF -->Код: Выделить всё
<!-- IF S_DISPLAY_PM -->
(<a href="{U_PRIVATEMSGS}" id="pm-link">{PRIVATE_MESSAGE_INFO}</a>)
<script type="text/javascript">
setInterval(function() {
$("#pm-link").load('{ROOT_PATH}pm.php');
}, 60000);
</script>
<!-- ENDIF -->Код: Выделить всё
<!-- IF S_DISPLAY_PM -->
(<a href="{U_PRIVATEMSGS}" id="pm-link">{PRIVATE_MESSAGE_INFO}</a>)
<script type="text/javascript">
var pmReq = new Ajax('{ROOT_PATH}pm.php', {update: $('pm-link')});
setInterval(function() {pmReq.request()}, 60000);
</script>
<!-- ENDIF -->-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
Вместо того, чтобы измениться, строка (новых ЛС: 0) исчезает. При перезагрузке страницы появляется.
Из модов, затрагивающих ЛС, стоят:
Всплывающее сообщение при новых ЛС [Highslide]
Welcome PM on First Login 2.2.5
Возможно, с ними конфликт?
Из модов, затрагивающих ЛС, стоят:
Всплывающее сообщение при новых ЛС [Highslide]
Welcome PM on First Login 2.2.5
Возможно, с ними конфликт?
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
Вряд ли. Может, скрипт pm.php выдаёт пустую строку. Заочно не узнать.
-
TyMaH
- phpBB 2.0.3
- Сообщения: 389
- Стаж: 15 лет 3 месяца
- Благодарил (а): 182 раза
- Поблагодарили: 18 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
Кстати насчет исчезает.. а как сделать чтоб небыло видно (Новых ЛС: 0) пока нет лс?
-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
overall_header.html
заменить на
Код: Выделить всё
<!-- IF S_DISPLAY_PM -->Код: Выделить всё
<!-- IF S_DISPLAY_PM and S_USER_NEW_PRIVMSG -->-
TyMaH
- phpBB 2.0.3
- Сообщения: 389
- Стаж: 15 лет 3 месяца
- Благодарил (а): 182 раза
- Поблагодарили: 18 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
При получении лс, без перезагрузки не появляется (Новых ЛС: 1)
-
Татьяна5
- Поддержка

- Сообщения: 13159
- Стаж: 15 лет 1 месяц
- Благодарил (а): 236 раз
- Поблагодарили: 3750 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
Точно не с модами. На основном форуме работает.Nekstati писал(а):Вряд ли.
А возможно ли сделать, чтобы и всплывающее сообщение [Highslide] появлялось без перезагрузки?
И есть код, закрытый условиями вроде
<!-- IF S_USER_NEW_PRIVMSG --> (мигающее письмо). Что надо сделать, чтобы эти условия тоже срабатывали? Просто подстановка id не помогла.-
Nekstati
- Поддержка

- Сообщения: 3365
- Стаж: 17 лет 6 месяцев
- Благодарил (а): 37 раз
- Поблагодарили: 1454 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
Можно, но придётся делать всё совсем по-другому. М. б., сделаю мод, ЕБВ.
Ничего нельзя сделать, т. к. код, заключённый в это условие, отсутствует на странице при отсутствии новых ЛС.
Ничего нельзя сделать, т. к. код, заключённый в это условие, отсутствует на странице при отсутствии новых ЛС.
-
Krabsss
- phpBB 1.4.4
- Сообщения: 174
- Стаж: 14 лет 1 месяц
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 7 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
сделал я как написала Некстати, но все равно всплывает ЛС в новом окне браузера, как обычно
нужно ли еще устанавливать jQuery?
нужно ли еще устанавливать jQuery?
-
evrus01
- Former team member
- Сообщения: 1274
- Стаж: 15 лет 6 месяцев
- Откуда: Москва
- Благодарил (а): 107 раз
- Поблагодарили: 234 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
Krabsss, у вас должна быть еще установлена модификация, которая вместо браузерного окна выводит уведомление слоем.
Добавлено спустя 3 минуты 40 секунд:
Вот Popup Layer on New PMs / Всплывающий слой при новых ЛС
Или можете поставить модификацию от Garret Dark'a — PM All in One — кажется так называется. Там тоже используется всплывающий слой вместо окна.
Добавлено спустя 3 минуты 40 секунд:
Вот Popup Layer on New PMs / Всплывающий слой при новых ЛС
Или можете поставить модификацию от Garret Dark'a — PM All in One — кажется так называется. Там тоже используется всплывающий слой вместо окна.
Я использую следующие модификации | Памятка
-
Krabsss
- phpBB 1.4.4
- Сообщения: 174
- Стаж: 14 лет 1 месяц
- Откуда: Санкт-Петербург
- Благодарил (а): 5 раз
- Поблагодарили: 7 раз
Re: Динамическое "Новое ЛС" (AJAX new PM)
вот этот мод стоял Popup Layer on New PMs / Всплывающий слой при новых ЛС и тоже не работало
окно всплывало, но после перезагрузки страницы, и там не видны дополнительные сведения как у вас здесь важные ЛС
окно всплывало, но после перезагрузки страницы, и там не видны дополнительные сведения как у вас здесь важные ЛС
-
evrus01
- Former team member
- Сообщения: 1274
- Стаж: 15 лет 6 месяцев
- Откуда: Москва
- Благодарил (а): 107 раз
- Поблагодарили: 234 раза
Re: Динамическое "Новое ЛС" (AJAX new PM)
Дополнительные сведения это как раз доработка Garret_Dark'a (по крайней мере была взята за основу).
Попробуйте поставить ее для начала.
Добавлено спустя 41 секунду:
[RC] PM All in 1 - ЛС "Все включено"
Попробуйте поставить ее для начала.
Добавлено спустя 41 секунду:
[RC] PM All in 1 - ЛС "Все включено"
Я использую следующие модификации | Памятка

