J'essaye d'adapter le mod similar topics pour wordpress afin qu'il m'affiche les sujets similaires de mon forum phpbb sur mon article wordpress.
J'ajoute donc dans mon template wordpress :
pour la session phpbb :
- Code: Tout sélectionner
<?php
define('IN_PHPBB', true);
global $phpbb_root_path, $phpEx, $user, $phpbb_seo, $auth, $template, $cache, $db, $config;
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
?>
et pour afficher les discussion similaires :
- Code: Tout sélectionner
<?php
if (function_exists('seo_title_tag'))
{
ob_start();
seo_title_tag();
$lid = ob_get_contents();
ob_end_clean();
}
else
{
bloginfo('name');
ob_start();
wp_title();
$lid = ob_get_contents();
ob_end_clean();
}
?>
<ul class="list_forum">
<?php
$topic_data['topic_title']=$lid;
// Begin similar topics
$sql_array = array(
'SELECT' => 'f.forum_id, f.forum_name, t.topic_id, t.topic_title, u.user_id, u.username, u.user_colour, t.topic_replies',
'FROM' => array(
TOPICS_TABLE => 't',
),
'LEFT_JOIN' => array(
array(
'FROM' => array(USERS_TABLE => 'u'),
'ON' => 'u.user_id = t.topic_poster'
),
array(
'FROM' => array(FORUMS_TABLE => 'f'),
'ON' => 'f.forum_id = t.forum_id'
),
),
'WHERE' => "MATCH (t.topic_title) AGAINST ('" . $db->sql_escape($topic_data['topic_title']) . "' ) >= 0.5
AND t.topic_status <> " . ITEM_MOVED . '
AND t.topic_id <> ' . (int) $topic_data['topic_id'],
'GROUP_BY' => 't.topic_id',
'ORDER_BY' => 't.topic_last_post_time DESC',
);
$sql = $db->sql_build_query('SELECT', $sql_array);
if ($result = $db->sql_query_limit($sql, 10))
{
while($similar = $db->sql_fetchrow($result))
{
if ($auth->acl_get('f_read', $similar['forum_id']))
{
$similar_forum_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=" . $similar['forum_id']);
$similar_topic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $similar['forum_id'] . '&t=' . $similar['topic_id']);
$similar_user = get_username_string('full', $similar['user_id'], $similar['username'], $similar['user_colour'], $similar['username']);
$template->assign_block_vars('similar', array(
'TOPIC_TITLE' => $similar['topic_title'],
'U_TOPIC' => $similar_topic_url,
'REPLIES' => $similar['topic_replies'],
'USER' => $similar_user,
'U_FORUM' => $similar_forum_url,
'FORUM' => $similar['forum_name'])
);
$titre=$similar['topic_title'];
$url=$similar_topic_url;
echo "<li><a href=\"$url\" title=\"$titre\">$titre</a></li>";
}
}
}
// End Similar Topics
?>
Les liens générés sont de type :
- Code: Tout sélectionner
topic1.html topic2.html ...
Or j'utilise la premod phpbb3 avec le mode rewrite avancé (injection des titres dans url)
Que dois-je faire pour faire afficher les liens rewrités

Français |
Anglais

