J'ai installé le mod avancé sur un forum en cours de développement et j'aimerais afficher sur la page d'accueil de mon site les derniers sujets de mon forum.
J'ai bricolé un petit script, qui marche, sauf pour les urls qui ne prennent pas les titres des sujets pour qu'elle soient celles générées par le mod avancé
- Code: Tout sélectionner
<?php
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
include('forum/phpbb_seo/phpbb_seo_class.php');
$phpbb_seo = new phpbb_seo();
// www.phpBB-SEO.com SEO TOOLKIT END
// Connexion à la BDD
$db = .......;
// Sélection des 5 derniers posts
$sql = "SELECT TP.topic_id, TP.topic_title, PT.post_text, PST.post_time, PST.poster_id, PST.post_username, US.username
FROM phpbb_topics TP, phpbb_posts_text PT, phpbb_posts PST, phpbb_users US
WHERE PT.post_id = TP.topic_first_post_id
AND PST.post_id = TP.topic_first_post_id
AND US.user_id = TP.topic_poster
GROUP BY TP.topic_id
ORDER BY TP.topic_id DESC
LIMIT 10";
$req = mysql_query($sql) or die(mysql_error());
// Boucle d'affichage du post
while($db_data = mysql_fetch_assoc($req)) {
// Titre du post
$post_title = "<a href=\"http://www.site.net/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>";
// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 400;
if (strlen($post)>$max_caracteres) {
$max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
$post = substr($post, 0, $max_caracteres);
$post .= " (...)";
}
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url($topic_title);
// www.phpBB-SEO.com SEO TOOLKIT END
$post = preg_replace("(\[.*\])U","",$post );
$poster = "<a href=\"http://www.site.net/forum/membre".$db_data['poster_id'].".html\" class=\"nav\" >".$db_data['username']."</a>";
$post_time = strftime("%A %e %B @ %H:%M", $db_data['post_time']+(0));
echo "<p align=\"left\">$post_title, by $poster, $post_time<br />
$post</p>";
}
?>
Je ne comprends pas comment marche le bout de code phpbbseo que j'ai essayer d'introduire dans mon propre code. Pourriez-vous m'aider à fixer le bug svp ?

Français |
Anglais


