Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Recent Topics

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
PekopT
phpBB 1.2.1
Сообщения: 25
Стаж: 17 лет 1 месяц

Сообщение PekopT »

PekopT писал(а):А у меня вот такой вопросик: возможно ли обновление Java скрипта без перезагрузки страницы ? как я понимаю, это и есть AJAX. а еще я слышал что к Glance такую штуку прикрутили.... было бы очень интересно такое увидеть и в Recent Topics...
RedNaxi писал(а):<script language='JavaScript' type='text/javascript' src='http://www.xxx.com/recent.php'></script>

то очевидно можно.

надо немного подумать
хм, вопрос открыт, господа кто знает ajax, уделите внимание пожалуйста.
Аватара пользователя
RedNaxi
Former team member
Сообщения: 933
Стаж: 17 лет 9 месяцев
Откуда: BeBoss.ru
Благодарил (а): 2 раза
Поблагодарили: 10 раз

Сообщение RedNaxi »

если до меня никто не сделает завтра займусь этим вопросом.
PekopT
phpBB 1.2.1
Сообщения: 25
Стаж: 17 лет 1 месяц

Сообщение PekopT »

RedNaxi ну так что?

господа, это буде стоящая весчь. почему бы не попробывать?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 8 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Я попробую сегодня, все равно мод обновлять надо.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
sires
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет

Сообщение sires »

чего я мог не так сделать?
при обращении forum/recent.php, выдает:
document.writeln('Игра 15.12.07 (регистрация, об…
\n'); document.writeln('Поздравляю!
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 8 месяцев
Поблагодарили: 2 раза

Сообщение Xpert »

Уже второй вопрос на последдних страницах. Это правильно - файл отдает JavaScript.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
sires
phpBB 1.0.0
Сообщения: 4
Стаж: 17 лет

Сообщение sires »

Xpert писал(а):Уже второй вопрос на последдних страницах. Это правильно - файл отдает JavaScript.
:D Спасибо! Все понял... Получилось!
PekopT
phpBB 1.2.1
Сообщения: 25
Стаж: 17 лет 1 месяц

Сообщение PekopT »

Xpert,
что там с ajax для Recent Topics ?

есть какие-то подвижки?
Аватара пользователя
natali
phpBB 2.0.1
Сообщения: 293
Стаж: 19 лет 6 месяцев
Откуда: Киев

Сообщение natali »

Простите что повторяюсь, но что с кашированием можно придумать? А то висящий форум кладёт весь сайт (((
PekopT
phpBB 1.2.1
Сообщения: 25
Стаж: 17 лет 1 месяц

Сообщение PekopT »

natali писал(а): А то висящий форум кладёт весь сайт (((
хм. возможно это у вас что-то не так, ибо у меня при висящем форуме - просто нет ни одной темы...
Roms
phpBB 1.0.0
Сообщения: 1
Стаж: 16 лет 11 месяцев

Сообщение Roms »

Люди, такое дело, пытаюсь приделать этот мод к WordPress`у, но вордпресс использует другую кодировку, из-за чего выводится вот такое: "�� ��������". Можно сделать что-нибудь сделать? :(
Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Стаж: 17 лет
Откуда: Киев

Сообщение Shock13666 »

Есть ли возможность сделать, чтобы этот мод давал ссылки на сообщения не так, как он дает, а так, как то предусмотрено модом SE Friendly Forum то есть к примеру topic335.html вместо viewtopic.php?t=335. Да, я знаю, что поисковики его ссылки все равно не видят. Мне надо по другой причине. Старался сделать это с помощью хтакцес, но не получилось. Как можно исправить код?
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 20 лет
Поблагодарили: 1 раз

Сообщение VVVas »

Shock13666
Можно лёгким движением руки делается...

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

$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
$board_path = $server_protocol . $server_name . $server_port . $script_name;
$viewtopic_url = $board_path . '/topic';
$viewpost_url = $board_path . '/post';
и

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

		'U_TOPIC' => $viewtopic_url . $row['topic_id'] . '.html',
		'TOPIC_TITLE' => str_replace("'", "\'", $topic_title)
я люблю daft punk | новый sugoi.ru
Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Стаж: 17 лет
Откуда: Киев

Сообщение Shock13666 »

[AJAX mod here] Я так поннимаю:

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

#
#-----[ OPEN ]------------------------------------------ 
# 

recent.php

# 
#-----[ FIND ]------------------------------------------ 
# 

$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path']));
$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
$board_path = $server_protocol . $server_name . $server_port . $script_name;
$viewtopic_url = $board_path . '/viewtopic.' . $phpEx;

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

$script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path'])); 
$script_name = ($script_name == '') ? $script_name : '/' . $script_name;
$board_path = $server_protocol . $server_name . $server_port . $script_name;
$viewtopic_url = $board_path . '/topic';
$viewpost_url = $board_path . '/post';

# 
#-----[ FIND ]------------------------------------------ 
# 

'U_TOPIC' => $viewtopic_url . '?' . POST_TOPIC_URL . '=' . $row['topic_id'],

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 

'U_TOPIC' => $viewtopic_url . $row['topic_id'] . '.html', 

Добавлено спустя 4 минуты 6 секунд:

Огромное спасибо! У мня все получилось!

Такой еще вопрос - как там прогресс с AJAX апгрейдом мода?

Добавлено спустя 2 часа 6 минут 43 секунды:


AJAX Recent Mod Beta

Ладно. Тк аякс-версия данного мода что-то застопорилась, пришлось изучать аякс и писать свою. Моя первая поделка на аякс.

Файл recent_ajax.js (кидаем в корень форума)

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

var xmlObj = null;
	
function recent() {
	if(window.XMLHttpRequest){
		xmlObj = new XMLHttpRequest();
	}
	else if(window.ActiveXObject){
		xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else {
		return;
	}
	xmlObj.onreadystatechange = process
	xmlObj.open ('GET', "recent.php", true);
	xmlObj.send ( null );
}
function process(){
	if(xmlObj.readyState == 4){
		document.getElementById("output").innerHTML = xmlObj.responseText ;
	}
}
Файл recent_body.tpl

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

<!-- BEGIN topicrow -->
<li><a href="{topicrow.U_TOPIC}">{topicrow.TOPIC_TITLE}</a></li>
<!-- END topicrow -->
На странице, где будет сам список:

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

#
#--- [ Find ] ---
#
</head>

#
#--- [ Before, add ] ---
#
<script type="text/javascript" src="recent_ajax.js"></script>

#
#--- [ Find ] ---
#
<body

#
#--- [ In line, find ] ---
#
body

#
#--- [ After, add ] ---
#
 onLoad="recent()"
Сообственно, сам список последних тем:

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

<ul id="output">
<li>Default</li>
</ul>
Кнопка обновления списка:

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

<a onclick="recent()">Update Recent Topics</a>
В двух словах обьясняю принцип работы. Сначала загружается весь документ, потом берется содержимое файла recent.php ( body onLoad="recent()" ) и заменяет содержимое блока с id="output" на то, что в файле ресент.пхп. В случае, если ЖаваСкрипты отключены, то будет показываться содержимое по умолчанию (в данном случае <li>Default</li>). Этот момент можно заменить на что угодно, например на сообщение "Включите Жабоскрипты" или на рекламу, что, мо моему, значительный плюс по сравнению с предыдущей версией, которая невалидна и не выдает ничего в случае неисправности. Если жаваскрипты включены, то будет создана конструкция след вида:

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

<ul id="recent_output">
 <li><a href="{LINK}">{NAME}</a></li>
 <li><a href="{LINK}">{NAME}</a></li>
 <li><a href="{LINK}">{NAME}</a></li>
 <li><a href="{LINK}">{NAME}</a></li>
 <li><a href="{LINK}">{NAME}</a></li>
</ul>
Внешний вид этой конструкции очень легко изменяется с помощью ксс: ul#recent_output{background:green}.

Дальше. У нас есть кнопка обновления списка <a onclick="recent()">Update Recent Topics</a>. Вы можете заменить тег А на Див, Спан, Буттон, или что-то другое - неважно. При клике на него снова изменяется содержимое блокас id="output" на то, что в файле ресент.пхп, без перезагрузки всей страницы. Текст может быть заменен на красивый рисунок, или еще чет. Главное - суть.

Итого, этот вариант позволяет сделать меню последних тем с обновлением при нажатии кнопки, размещенной в любом другом месте.

Добавлено спустя 9 минут 40 секунд:

Я еще полажу, поэкспериментирую и, может, самообновляющуюся сделаю...

Добавлено спустя 1 час 21 минуту 49 секунд:

AJAX Recent Mod Beta. TimeOut Addon

auto_recent_ajax.js (в корне форума)

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

var info = document.getElementById("recent_timer");
var timer;
function auto_recent() {
	timer = setInterval(function() {
		var cur = parseInt(info.innerHTML);
		if(cur == '0') {
			recent();
			cur = 30; // Time of Update
		} 
		else cur--;
		info.innerHTML = cur;
	},1000);
}
Строка 8 - это количество секунд, которые проходят между автообновлениями.

Изменения после установки предыдущего мода Аякс:

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

#
#--- [ Open ] ---
#
overall_footer.tpl 

#
#--- [ Find ] ---
#
</body>

#
#--- [ Before, Add ] ---
#
<script type="text/javascript" src="auto_recent_ajax.js"></script>


#
#--- [ Open ] ---
#
overall_header.tpl 

#
#--- [ Find ] ---
#
<body

#
#--- [ In line, find ] ---
#
onload="recent();"

#
#--- [ In line, replace ] ---
#
onload="auto_recent();"
В любом месте можно вставить следующий код, который будет показывать, сколько секунд осталось до следующего автообновления:

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

<span id="recent_timer">0</span>
Добавлено спустя 1 минуту 55 секунд:

Вроде все написал. У меня на Локалхосте работает.
Если что - извините за ошибки. Щас 5 часов утра, мог где-то сбиться...

Добавлено спустя 7 часов 17 минут 48 секунд:

Может быть ошибка в кодировке. Русские буквы будут отображаться знаками вопроса. Тогда:

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

#
#--- [ Open ] ---
#
recent.php

#
#--- [ Find ] ---
#
//
// Let's prevent caching
//

#
#--- [ Before, Add ] ---
#
header ('Content-type: text/html; charset=windows-1251');
Последний раз редактировалось Shock13666 13.05.2008 21:49, всего редактировалось 1 раз.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]
Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Стаж: 17 лет
Откуда: Киев

Сообщение Shock13666 »

Гурру, попрошу прокоментировать.... Интересует мнение профи.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю xHTML, CSS, слышал про JavaScript, PHP. Уже год использую и стараюсь понять, как устроен phpBB.
[ Mozilla Firefox User ] [ Web Dev panel for FF ] [ xHTML 1.0 Strict ] [ Valid CSS 2.1 ] [ Да, я маньяк! ] [ Я ВКонтакте! ]

Вернуться в «Анонсы и поддержка модов для phpBB 2.0.x»