Вожусь сейчас с форумом на phpBB. Достаточно новый для меня движек, во всем приходится разбираться. Изначально установил форум с SEO Pack. Тот реврайтит урлы в ЧПУ. Сейчас стал ставить модуль для спасиб, выбрал для этого Thanks for post модуль хороший, но с phpBB SEO Premod ЧПУ работать он отказался.

Но решение нашлось быстро вот здесь.
Но решение там в нескольких постах. После первых правок работает отправка благодарности, но не работает удаление благодарности ( зависаешь в окне подтверждения ), поэтому нужно сделать и исправления что в той теме на второй странице.

Ну и я скопировал полный хау ту чтобы Thanks for post заработал с SEO Premod ЧПУ ссылками. Версия форума phpBB 3.0.8 . Правим viewtopic.php:

Чтобы заработала добавление благодарности Thanks for post

[cc lang=”php”] // www.phpBB-SEO.com SEO TOOLKIT BEGIN -> Zero dupe
$phpbb_seo->seo_opt[‘zero_dupe’][‘start’] = $phpbb_seo->seo_chk_start( $start, $config[‘posts_per_page’] );[/cc]

After add :

[cc lang=”php”] // Thanks mod
$to_id = request_var(‘to_id’, 0);
$thanks = request_var(‘thanks’, 0);
$rthanks = request_var(‘rthanks’, 0);[/cc]

Find :

[cc lang=”php”] if ( $post_id && !$view && !$phpbb_seo->set_do_redir_post()) {[/cc]

Replace with :

[cc lang=”php”] if ( ($rthanks || $thanks) || ($post_id && !$view && !$phpbb_seo->set_do_redir_post())) {[/cc]

Find :

[cc lang=”php”] $phpbb_seo->seo_opt[‘zero_dupe’][‘redir_def’] = array(
‘p’ => array(‘val’ => $post_id, ‘keep’ => true, ‘force’ => true, ‘hash’ => “p$post_id”),
‘hilit’ => array(‘val’ => (($highlight_match) ? $highlight : ”), ‘keep’ => !empty($highlight_match)),[/cc]

After add :

[cc lang=”php”] // Thanks mod
‘rthanks’ => array(‘val’ => $rthanks, ‘keep’ => $rthanks),
‘to_id’ => array(‘val’ => $to_id, ‘keep’ => $to_id),
‘thanks’ => array(‘val’ => $thanks, ‘keep’ => $thanks),[/cc]

Чтобы заработала ОТМЕНА благодарности Thanks for post

viewtopic.php, find :
[cc lang=”php”]
// www.phpBB-SEO.com SEO TOOLKIT BEGIN -> Zero dupe
$phpbb_seo->seo_opt[‘zero_dupe’][‘start’] = $phpbb_seo->seo_chk_start( $start, $config[‘posts_per_page’] );
[/cc]

Before add :

[cc lang=”php”] // Thanks mod
$to_id = request_var(‘to_id’, 0);
$thanks = request_var(‘thanks’, 0);
$rthanks = request_var(‘rthanks’, 0);
[/cc]

find :

[cc lang=”php”] $phpbb_seo->seo_chk_dupe();[/cc]

Replace with :
[cc lang=”php”] if (!$to_id && !$thanks && !$rthanks) {
$phpbb_seo->seo_chk_dupe();
} [/cc]

И надо понимать, что если Thanks for post вы ставили через AutoMOD, а потом захотите удалить, то все эти правки надо будет удалять в ручную.

19 февраля 2011 |

Comments are closed.