Страница 1 из 1
Как убрать из урл топика "f=XX" (сделать как тут)?

Добавлено:
19.03.2015, 04:20
ZeldoR
Всем привет!
Искал, но не нашел такого мода/инструкции на Вашем ресурсе. Собственно вопрос, как реализовать такое же формирование урл топика как на этом форуме (без указания раздела)?

Добавлено:
19.03.2015, 23:09
VEG
Тут используется нехороший хак для этого, поэтому в phpBBex и не включено.
Если хотите себе такое же, в includes.php нужно найти:
- Код: Выделить всё
function append_sid($url, $params = false, $is_amp = true, $session_id = false)
Заменить на:
- Код: Выделить всё
function append_sid_original($url, $params = false, $is_amp = true, $session_id = false)
После окончания этой функции (перед
function generate_board_url($without_script_path = false)
) добавить:
- Код: Выделить всё
function clean_viewtopic_url($url)
{
return preg_replace('#(\bf=\d+&(amp;)?|&(amp;)?f=\d+$)#', '', $url);
}
function append_sid($url, $params = false, $is_amp = true, $session_id = false)
{
global $phpbb_root_path, $phpEx, $config;
$url = append_sid_original($url, $params, $is_amp, $session_id);
if (strpos($url, "{$phpbb_root_path}viewtopic.$phpEx") === 0)
{
return clean_viewtopic_url($url);
}
return $url;
}

Добавлено:
20.03.2015, 03:14
ZeldoR
Спасибо большое!
А чем он "нехороший"? По моему без него гораздо хуже. Косяком с дублированием урл (у вас на форуме) вроде не обнаружил, или есть такое все же?

Добавлено:
20.03.2015, 09:34
VEG
ZeldoR, нехороший с точки зрения кода. Вообще архитектура у phpBB не ахти, приходится с этим мириться.

Добавлено:
25.03.2015, 11:02
Dr.Death
VEG, еще у canonical во viewtopic надо убрать же

Добавлено:
25.03.2015, 16:06
Sumanai
Не убрать, а исправить.

Добавлено:
25.03.2015, 18:05
Dr.Death
если параметр f у canonical, то убрать, если сам canonical, то исправить

Добавлено:
25.03.2015, 18:07
VEG
Dr.Death, так код приведённый же проверяет все ссылки и во всех ссылках удаляет этот параметр. В canonical должно тоже исчезнуть.

Добавлено:
25.03.2015, 18:11
Dr.Death
нет, там без сида, просто написано

Добавлено:
27.03.2015, 14:40
VEG
Хм, и правда, я тут тоже вносил правки. Из diff файла viewtopic.php:
- Код: Выделить всё
- 'U_CANONICAL' => generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : ''),
- 'U_TOPIC' => "{$server_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id",
+ 'U_CANONICAL' => clean_viewtopic_url(generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&t=$topic_id" . (($start) ? "&start=$start" : '')),
+ 'U_TOPIC' => clean_viewtopic_url("{$server_path}viewtopic.$phpEx?f=$forum_id&t=$topic_id"),

Добавлено:
27.03.2015, 19:30
Dr.Death
хы.. U_TOPIC то проглядел...

Добавлено:
29.07.2023, 15:09
VEG
В репозитории проекта
доступно аналогичное изменение, но без описанного выше хака 10-летней давности (который за годы разросся до
внушительных размеров). То есть, ссылки теперь сразу генерируются без ненужного параметра f. Войдёт в следующую версию phpBBex, которая выйдет ближе к концу года.