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

[BETA] Search Engines Friendly Board

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Профессор
phpBB 1.4.2
Сообщения: 53
Стаж: 19 лет 4 месяца
Откуда: Орёл

Сообщение Профессор »

Thoral писал(а):однако гости не могут переходить по страницам одной темы; по нажатию на номер страницы их постоянно перебрасывает на первую страницу этой темы.
Точно! Есть такая пакость, но на этом сайте почему-то всё нормально, а у меня возникла такая же проблема. Установил сей мод неделю назад, а гости позавчера обраружили этот неприятный эффект. Сегодня утром я наше решение, но сейчас я ложусь спать, а сообщю подробности борьбы завтра.

Спокойной всем ночи!
Профессор
phpBB 1.4.2
Сообщения: 53
Стаж: 19 лет 4 месяца
Откуда: Орёл

Сообщение Профессор »

Если у Вас такая же пакость, как у Thoral, то можно ликвидирвать её так. В viewtopic.php задаем переменную, которая будет показывать гость у нас или зарегистрированный пользователь.
if ( $userdata['session_logged_in'] ) {
$logg_view = 1;
}
else {
$logg_view = 0;
}
А в functions.php ищем функцию generate_pagination и меняем её на этот вариант.
function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
{
global $topic_id, $forum_id, $logg_view, $lang;
if ( $logg_view == 100 ) {
$podstavka = 'forum';
$topic_id = $forum_id;
$logg_view = 0;
}
else {
$podstavka = 'topic';
}
$total_pages = ceil($num_items/$per_page);
if ( $total_pages == 1 ) {
return '';
}
$on_page = floor($start_item / $per_page) + 1;
$page_string = '';
if ( $total_pages > 10 )
{
$init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages;
for($i = 1; $i < $init_page_max + 1; $i++)
{
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $init_page_max ) {
$page_string .= ", ";
}
}
if ( $total_pages > 3 )
{
if ( $on_page > 1 && $on_page < $total_pages )
{
$page_string .= ( $on_page > 5 ) ? ' ... ' : ', ';
$init_page_min = ( $on_page > 4 ) ? $on_page : 5;
$init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4;
for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++)
{
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $init_page_max + 1 ) {
$page_string .= ', ';
}
}
$page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', ';
}
else {
$page_string .= ' ... ';
}
for($i = $total_pages - 2; $i < $total_pages + 1; $i++)
{
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
if( $i < $total_pages ) {
$page_string .= ", ";
}
}
}
}
else
{
for($i = 1; $i < $total_pages + 1; $i++) {
if ( $logg_view == 1 ) {
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>';
}
else {
$topic_page = ( $i - 1 ) * $per_page;
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . append_sid($podstavka . $topic_id . '-' . $topic_page) . '.html">' . $i . '</a>';
}
if ( $i < $total_pages ) {
$page_string .= ', ';
}
}
}
if ( $add_prevnext_text ) {
if ( $on_page > 1 ) {
if ( $logg_view == 1 ) {
$page_string = ' <a href="' . append_sid($base_url . "&start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">Пред.</a>&nbsp;&nbsp;' . $page_string;
}
else {
$page_string = ' <a href="' . append_sid($podstavka . $topic_id . '-' . (( $on_page - 2 ) * $per_page)) . '.html">Пред.</a>&nbsp;&nbsp;' . $page_string;
}
}
if ( $on_page < $total_pages ) {
if ( $logg_view == 1 ) {
$page_string .= '&nbsp;&nbsp;<a href="' . append_sid($base_url . "&start=" . ( $on_page * $per_page ) ) . '">След.</a>';
}
else {
$page_string .= '&nbsp;&nbsp;<a href="' . append_sid($podstavka . $topic_id . '-' . ($on_page * $per_page)) . '.html">След.</a>';
}
}
}
$page_string = 'На страницу ' . $page_string;
return $page_string;
}
Хоть проблема и решена, но мне очень интересно, почему она не возникла у Xperta. Здесь на сайте со ссылками гостей всё нормально. Или Xpert втихаря ликвидировал решил этот казус, а нам ничего не сказал? :)
Последний раз редактировалось Профессор 09.09.2005 19:06, всего редактировалось 1 раз.
Kastaneda
Former team member
Сообщения: 702
Стаж: 19 лет 6 месяцев

Сообщение Kastaneda »

Профессор писал(а):Или Xpert втихаря ликвидировал решил этот казус, а нам ничего не сказал?
Наверно не у всех встречается этот глюк. У меня его тоже нет.
Thoral

Сообщение Thoral »

Профессор
коллега, благодарю,
попробую на досуге ;)
daddy_dj
phpBB 1.2.0
Сообщения: 10
Стаж: 18 лет 8 месяцев
Откуда: Kiev

Сообщение daddy_dj »

Господа, прошу помочь (разъснить).
Ногами не бейте, хотя чувствую, что вопрос тупой - всего третий день смотрю на форум изнутри :)
Итак.
Скачал Search Engines Friendly Board.
Первая строчка - "copy .htaccess to .htaccess"
В скачанном моде .htaccess нашел. А вот КУДА его копировать :?:

Внимательно прочитал письмо от хостера: "Для всех аккаунтов включена поддержка .htaccess". Значит этот .htaccess есть.
Но где же он, сволочь, лежит? Т.е. КУДА копировать новый .htaccess?

В общем запутался я в двух соснах... :cry:
Сорентируйте, плиз.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

daddy_dj
Идем в поиск и спрашиваем "как устанавливать моды", а там видим
[ COPY ] - загрузить файлы в папку форума. Путь указывается от корня вашего форума.
я люблю daft punk | новый sugoi.ru
daddy_dj
phpBB 1.2.0
Сообщения: 10
Стаж: 18 лет 8 месяцев
Откуда: Kiev

Сообщение daddy_dj »

"Семен Семеныч..." (с)
А я-то (дубинушка) думал его нужно скопировать и заменить уже существующий на моем форуме .htaccess

Все, спасибо :)
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Странно.. при использовании подфорумов Cat Hierarhy ссылки на подфорумы не преобразуются в статические :?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Siava
А каким html-кодом формируются эти ссылки?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Не понял, что именно надо показать?
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Часть html-кода страницы, которая содержит необработанные ссылки.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Ок, тогда вот пример:

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

<tr>
	<td  class="row1" align="center" valign="middle" height="50"><img src="templates/subSilver/images/cat_folder_big.gif" width="46" height="25" alt="Нет новых сообщений" title="Нет новых сообщений" /></td>
	<td class="row1" width="100%" height="50" colspan="1" valign="top">
		<span class="forumlink"><a href="forum8.html" class="forumlink">Железо</a><br /></span>
		<span class="genmed">Всё о проблемах и просто о компьютерном железе!</span>
		<span class="gensmall"><br /><b>Модераторы:</b>&nbsp;<a href="./profile.php?mode=viewprofile&u=2">Siava</a>, <a href="./profile.php?mode=viewprofile&u=11">sm1le</a>, <a href="./profile.php?mode=viewprofile&u=20">sert</a><br /><b>Форумы:</b>&nbsp;<a href="./viewtopic.php?p=160967#160967"><img src="templates/subSilver/images/icon_minipost.gif" border="0" alt="Нет новых сообщений" title="Нет новых сообщений" align="middle" /></a><a href="./viewforum.php?f=10" title="Всё про разгон процов, видях, памяти и т.д.." class="gensmall">Оверклокинг</a></span>
	</td>
	<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">144</span></td>
	<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">4231</span></td>
	<td class="row3" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall"><a href="post161339.html#161339" title="Не включается тачка">Не включается тачка</a><br /><b>Сегодня в 19:56</b><br /><a href="profile.php?mode=viewprofile&u=575">Бобер</a> <a href="post161339.html#161339"><img src="templates/subSilver/images/icon_latest_reply.gif" border="0" alt="Посмотреть последнее сообщение" title="Посмотреть последнее сообщение" /></a></span></td>
</tr>
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Siava писал(а):./viewforum.php?f=10
< . . . >
./viewtopic.php?p=160967#160967
Эти две?

Я думаю надо менять код который отвечает за генерацию ссылок. По умолчанию все ссылки в phpBB относительные. Если пытаться доделывать обработчик под то что есть, то это не самый лучший вариант. Надо удалить из этих ссылок Добавлено спустя 1 минуту 12 секунд:

Кстати...
У тебя народ ссылками на посты прямыми преобразованными часто пользуется? А то есть мысль от них отказаться.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5283
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Xpert
Кстати...
У тебя народ ссылками на посты прямыми преобразованными часто пользуется? А то есть мысль от них отказаться
Что-то я опять не понимаю, что ты имеешь в виду :oops: :lol:

Пасиб за подсказку - оно :), функции подфорумов решил не править, а лишь добавил точку в преобразование ссылок в page_header.php

Надеюсь синтаксис правильный? Вроде всё работает :roll:

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

		// Don't want 2 pages with simular content
		"'(?<!/.)viewforum.php\?f=([0-9]+)&topicdays=([0-9]+)&start=0'",
		// Basic forum pagination link
		"'(?<!/.)viewforum.php\?f=([0-9]+)&topicdays=([0-9]+)&start=([0-9]+)'",
		// Basic forum link
		"'(?<!/.)viewforum.php\?f=([0-9]+)'",

		// Don't want 2 pages with simular content
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&postdays=([0-9]+)&postorder=([a-zA-Z]+)&start=0'",
		// Basic topic pagination link
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&postdays=([0-9]+)&postorder=([a-zA-Z]+)&start=([0-9]+)'",
		// 2 pages again
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&start=0&postdays=([0-9]+)&postorder=([a-zA-Z]+)&highlight=([a-zA-Z0-9%]*)'",
		// Topic link at the top of the page
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&start=([0-9]+)&postdays=([0-9]+)&postorder=([a-zA-Z]+)&highlight=([a-zA-Z0-9%]*)'",
		// 2 pages again
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&start=0'",
		// Topic pagination at forum view
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&start=([0-9]+)'",
		// Topic links from search
		"'(?<!/.)viewtopic.php\?t=([0-9]+)&highlight=([a-zA-Z0-9%]*)'",
		// Basic topic link
		"'(?<!/.)viewtopic.php\?t=([0-9]+)'",
		// Basic post link
		"'(?<!/.)viewtopic.php\?p=([0-9]+)'",
В .htaccess не добавлял.. а если и добавлять, то должно быть примерно так?

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

RewriteRule ^forum([.0-9]+)\.html$ viewforum.php?f=$1
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Siava писал(а):Надеюсь синтаксис правильный? Вроде всё работает
Буду вечером досконально смотреть.
Siava писал(а):В .htaccess не добавлял.. а если и добавлять, то должно быть примерно так?
Там уже все нужно есть. То что ты написал работать не будет.
Точка лишняя.
Siava писал(а):Что-то я опять не понимаю, что ты имеешь в виду
У меня есть идея вообще отказаться от преобразования прямых ссылок на сообщения потому что практика показала что такие ссылки следует запретить к индексации, а чтобы их запретить, преобразовывать совсем не обязательно. :) Вот и спрашиваю совета - отказаться от преобразования или нет. Просто если у тебя юзеры часто используют преобразованные ссылки прямо на посты, может ты пострадаешь :).
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений

Вернуться в «Бета-версии модов для phpBB 2.0.x»