Recent Topics

Все моды, созданные нашим сообществом для phpBB 2.0.x, анонсированы тут.
PekopT
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 12.10.2007 12:00

Сообщение PekopT » 03.12.2007 14:35

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
Сообщения: 916
Зарегистрирован: 21.02.2007 2:05
Откуда: BeBoss.ru
Поблагодарили: 4 раза

Сообщение RedNaxi » 03.12.2007 14:41

если до меня никто не сделает завтра займусь этим вопросом.

PekopT
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 12.10.2007 12:00

Сообщение PekopT » 08.12.2007 16:26

RedNaxi ну так что?

господа, это буде стоящая весчь. почему бы не попробывать?

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 09.12.2007 9:52

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

sires
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 02.12.2007 1:13

Сообщение sires » 10.12.2007 5:47

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

Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Зарегистрирован: 13.03.2004 21:27
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert » 10.12.2007 7:19

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

sires
phpBB 1.0.0
Сообщения: 4
Зарегистрирован: 02.12.2007 1:13

Сообщение sires » 10.12.2007 7:38

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

PekopT
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 12.10.2007 12:00

Сообщение PekopT » 11.12.2007 11:59

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

есть какие-то подвижки?

Аватара пользователя
natali
phpBB 2.0.1
Сообщения: 293
Зарегистрирован: 30.05.2005 12:18
Откуда: Киев
Контактная информация:

Сообщение natali » 13.12.2007 13:19

Простите что повторяюсь, но что с кашированием можно придумать? А то висящий форум кладёт весь сайт (((

PekopT
phpBB 1.2.1
Сообщения: 25
Зарегистрирован: 12.10.2007 12:00

Сообщение PekopT » 13.12.2007 13:38

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

Roms
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 22.12.2007 22:14

Сообщение Roms » 22.12.2007 22:23

Люди, такое дело, пытаюсь приделать этот мод к WordPress`у, но вордпресс использует другую кодировку, из-за чего выводится вот такое: "�� ��������". Можно сделать что-нибудь сделать? :(

Аватара пользователя
Shock13666
phpBB 1.4.4
Сообщения: 176
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 07.02.2008 4:59

Есть ли возможность сделать, чтобы этот мод давал ссылки на сообщения не так, как он дает, а так, как то предусмотрено модом 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
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 12.02.2008 9:53

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
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 13.02.2008 13:24

[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
Зарегистрирован: 19.11.2007 17:51
Откуда: Киев
Контактная информация:

Сообщение Shock13666 » 13.02.2008 20:25

Гурру, попрошу прокоментировать.... Интересует мнение профи.
Музыка - как вино. Некачественная попса, со временем, превращается в уксус.. Рок же только обретает свой истинный вкус..
Я не нацист. Но когда кто нибудь осмелится высказать криво о моей стране я прихожу в ярость.
Немножко знаю 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»