IPS Converters - Links - phpBB - разные ссылки [IPB 3.4.6] - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

IPS Converters - Links - phpBB - разные ссылки [IPB 3.4.6]

#1 Пользователь не на сайте   kanv1s ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 07-Февраль 12
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 23 Февраль 2015 - 21:50

Добрый день.

Ситуация следующая:
После слияния форума на phpbb 3.0.9 c действующим форумов на ipb 3.4.6 никак не получается перенастроить ссылки с ipb форума на phpbb

Есть такая ссылка: /forum/viewtopic.php?f=37&t=1852
Тема на ipb доступна по ссылке: /topic/9131

В файле viewtopic.php ссылка явно другого формата:
	$row = $DB->buildAndFetch( array( 'select' => 'ipb_id', 'from' => 'conv_link_posts', 'where' => "foreign_id=".intval(ipsRegistry::$request['p'])." AND type='posts' AND app='".$app['app_id']."'" ) );
	$topic = $DB->buildAndFetch( array( 'select' => 'topic_id', 'from' => 'posts', 'where' => "pid='".$row['ipb_id']."'" ) );

	$registry->getClass('output')->silentRedirect(IPB_URL.'/index.php?showtopic='.$topic['topic_id'].'&view=findpost&p='.$row['ipb_id'], '', TRUE);


Были предположения, что дяденькам писавшим это виднее, а всему виной url'ы самого форума (/index.html - IP Content, а сам форум доступен по адресу /index), но стандартизация не помогла.

Можете что нибудь посоветовать?
0

#2 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 027
  • Регистрация: 20-Март 09
  • Репутация: 2 392
  • IPB version:3.1.x
 

Отправлено 23 Февраль 2015 - 22:01

Просмотреть сообщениеkanv1s сказал(а):

В файле viewtopic.php ссылка явно другого формата:

Это редирект на пост. Для простых ссылок тем редирект находится выше.
А что конкретно не получается настроить? Если старый форум находился в папке /forum/ а прежний находится в корне домена, то нужно:
- либо создать папку /forum/ и закинуть туда файлы,
- либо загрузить файлы в корне форума и в .htaccess после RewriteEngine On добавить реврайт:

RewriteRule ^forum/(memberlist|viewforum|viewtopic)\.php $1.php [L]
0

#3 Пользователь не на сайте   kanv1s ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 07-Февраль 12
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 23 Февраль 2015 - 22:09

Ошибка 500.

/forum/viewtopic.php?f=37&t=7183 - переходит по такой, а нужно что бы переходил по /viewtopic.php?f=37&t=7183
в htaccess тыкался, не получалось, ошибка 500
0

#4 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 027
  • Регистрация: 20-Март 09
  • Репутация: 2 392
  • IPB version:3.1.x
 

Отправлено 23 Февраль 2015 - 22:12

Просмотреть сообщениеkanv1s сказал(а):

в htaccess тыкался, не получалось, ошибка 500

Реврайт немного подправил. Попробуйте еще раз.


Просмотреть сообщениеkanv1s сказал(а):

/forum/viewtopic.php?f=37&t=7183 - переходит по такой, а нужно что бы переходил по /viewtopic.php?f=37&t=7183

Так по какой, с /форумом/ или без? Если без форума, тогда ничего добавлять в htaccess не нужно, просто закиньте файлы в корень форума и настройте config.php
0

#5 Пользователь не на сайте   kanv1s ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 25
  • Регистрация: 07-Февраль 12
  • Репутация: 0
  • IPB version:4.1.x
 

Отправлено 23 Февраль 2015 - 22:16

Работает. Большое спасибо!!
0

#6 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 16-Ноябрь 16
  • Репутация: 0
  • IPB version:I have no IPB
 

Отправлено 15 Январь 2017 - 01:26

Обнаружились ссылки на посты вида /viewtopic.php?p=XXXXX#XXXXX - очевидно, для какой-то старой phpBB это было.

Но как эта ссылка должна выглядеть для IPB 3.4.x ?

/index.php?showtopic=YYYYY&p=XXXXX - не подходит поскольку YYYYY взять негде.

phpBB очевидно умела находить топик по одному только посту из него.
А вот как для IPB сделать такую же ссылку - чтобы она вывела топик с постом, не зная номер топика?
0

#7 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 575
  • Регистрация: 27-Март 16
  • Репутация: 35
  • Откуда:Королев
  • IPB version:3.4.x
 

Отправлено 15 Январь 2017 - 01:59

Цитата

А вот как для IPB сделать такую же ссылку - чтобы она вывела топик с постом, не зная номер топика?

В IPB 3 в стандартном ЧПУ для вывода ссылок на посты в теме используются ссылки вида:

forum.ru/topic/1-tema/?p=22

Где 1 - ид темы, tema - транслитное название темы, 22 - ид сообщения.

Сообщение изменено: Strategius (15 Январь 2017 - 02:00)

0

#8 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 16-Ноябрь 16
  • Репутация: 0
  • IPB version:I have no IPB
 

Отправлено 15 Январь 2017 - 03:39

Просмотреть сообщениеStrategius 15 Январь 2017 - 01:59 сказал(а):

Где 1 - ид темы,
Ну вот про это и вопрос - умеет ли IPB находить ID темы самостоятельно?
Ведь по идее ID постов уникальны…
0

#9 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 575
  • Регистрация: 27-Март 16
  • Репутация: 35
  • Откуда:Королев
  • IPB version:3.4.x
 

Отправлено 15 Январь 2017 - 11:30

В смысле сам умеет? Ссылку на пост можно получить, нажав на кнопку Поделиться в углу поста. Вид ЧПУ также при желании можно поменять.
0

#10 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 16-Ноябрь 16
  • Репутация: 0
  • IPB version:I have no IPB
 

Отправлено 15 Январь 2017 - 15:08

Просмотреть сообщениеStrategius 15 Январь 2017 - 11:30 сказал(а):

Ссылку на пост можно получить, нажав на кнопку Поделиться в углу поста.
Ну а найти то как этот самый пост???
Вот есть у меня только номер поста. Номера топика - нету!
Как мне написать в адресной строке браузера номер поста, чтобы IPBoard вывел топик и этот пост?
0

#11 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 575
  • Регистрация: 27-Март 16
  • Репутация: 35
  • Откуда:Королев
  • IPB version:3.4.x
 

Отправлено 15 Январь 2017 - 15:28

Цитата

Как мне написать в адресной строке браузера номер поста, чтобы IPBoard вывел топик и этот пост?

Никак, и не понимаю, зачем это нужно. Можно упростить вид ЧПУ, чтобы ссылка на тему приняла вид forum.ru/topic/ID

admin/applications/forum/extensions/furlTemplates.php

Найти

'out'           => array( '#showtopic=(.+?)(\#|&|$)#i', 'topic/$1-#{__title__}/$2' ),
'in'            => array( 'regex'   => '#^/topic/(\d+?)-#i',

Заменить на

'out'           => array( '#showtopic=(.+?)(\#|&|$)#i', 'topic/$1/$2' ),
'in'            => array( 'regex'   => '#^/topic/(\d+?)(/|$)#i',

Обновить кеш FURL.
0

#12 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 16-Ноябрь 16
  • Репутация: 0
  • IPB version:I have no IPB
 

Отправлено 15 Январь 2017 - 16:37

Просмотреть сообщениеStrategius 15 Январь 2017 - 15:28 сказал(а):

Никак, и не понимаю, зачем это нужно.
Это нужно затем что ссылки с внешних ресурсов были сделаны во времена когда у нас было phpBB.
phpBB спокойно сама находит и раздел и топик по одному только ID поста.
Можно вот написать /viewtopic.php?p=XXXXX - и всё будет отлично.
Хотя обычно пишут полную запись - /viewtopic.php?t=YYY&p=XXXXX, но это не обязательно.

IPB ведь тоже как и phpBB использует уникальные ID постов для всей базы.
Руками покопавшись в базе - можно узнать по номеру поста - номер топика: SELECT `topic_id` FROM `ibf_posts` WHERE `pid` = XXXXX;
Можно в принципе написать PHP-скрипт для поиска номера топика и формирования команды showtopic…
Но может есть уже готовая возможность???
0

#13 Пользователь не на сайте   Strategius ответил: »

 
 
  • Advanced
  • ***
  • Смотреть блог
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 575
  • Регистрация: 27-Март 16
  • Репутация: 35
  • Откуда:Королев
  • IPB version:3.4.x
 

Отправлено 15 Январь 2017 - 16:49

Цитата

Но может есть уже готовая возможность???

Не встречал, но вообще идея интересная.

Сообщение изменено: Strategius (15 Январь 2017 - 16:49)

0

#14 Пользователь не на сайте   f2065 ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 16
  • Регистрация: 16-Ноябрь 16
  • Репутация: 0
  • IPB version:I have no IPB
 

Отправлено 15 Январь 2017 - 20:00

Написал вот php-скрипт для имитации /viewtopic.php?p=XXXXX
Но всё-же у меня такое чувство что должен быть какой-то штатный ключ для адресной строки в IPB.

<?php

// wrapper viewtopic2showtopic v1.0 © f2065
// Выводит топик с постом по номеру указанного поста.
// 
// Это надо для случаев когда номер поста известен, а номер топика - нет.
// Например для работы со старыми ссылками от phpBB, viewtopic.php?p=XXXXX (без номеров топика).
//
// По сути - скрипт ссылку вида /viewtopic.php?p=XXXXX перенаправляет в /index.php?showtopic=YYYYY&p=XXXXX

include("conf_global.php");

$pid = (int)$_GET['p'];

$dbconn = mysql_connect($INFO['sql_host'], $INFO['sql_user'], $INFO['sql_pass']);
$db = mysql_select_db($INFO['sql_database']);
$object_tid = mysql_query('SELECT topic_id FROM '.$INFO['sql_tbl_prefix'].'posts WHERE pid = '.$pid);
$tid = mysql_result($object_tid, 0);
mysql_close($dbconn);

if (!$tid)
{
header('Content-type: text/html; charset=UTF-8');
echo "Post ID ".$pid." not found in database (or other error).<br>";
echo "<a href='javascript:history.back();'>Return to back page</a>, <a href='index.php'>Goto main page</a>";
}
else
{
header("Location: index.php?showtopic=".$tid."&p=".$pid);
}
exit;

?>

0

#15 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 2 189
  • Регистрация: 26-Октябрь 11
  • Репутация: 828
  • IPB version:I have no IPB
 

Отправлено 16 Январь 2017 - 08:37

Цитата

А вот как для IPB сделать такую же ссылку - чтобы она вывела топик с постом, не зная номер топика?

/index.php?app=forums&module=forums&section=findpost&pid=PID
Пример
http://ipbskins.ru/f...post&pid=100856
1

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна