Perte du CSS ???

Support et discussions sur les différentes téchniques de réécriture d'url (url rewriting) pour phpBB3 - Olympus.

Modérateur: Modérateurs

Messagede SeO » Jeu Juin 19, 2008 6:58 am

On s éloigne un peu du sujet initial mais bon.

Donc, pour les post (réécriture + disallow) c'est bon comme tu as fait (le disallow fait d'ailleurs parti du mod).

Pour les sujet, c'est un peu plus délicat.

En mod avancé, que tu utilises, il faut grosso modo faire comme dans viewtopic.php pour récuperer les infos nécéssaires à la réécriture d'url (et sous réserve que la page qui le fait partage les sessions phpBB) :

Code: Tout sélectionner
$forum_id = (int) $topic_data['forum_id'];
$topic_id = (int) $topic_data['topic_id'];
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
if ( empty($phpbb_seo->seo_url['topic'][$topic_id]) ) {
   if ($topic_data['topic_type'] == POST_GLOBAL) {
      $phpbb_seo->seo_opt['topic_type'][$topic_id] = POST_GLOBAL;
   }
   $phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url(censor_text($topic_data['topic_title']));
}
if ( empty($phpbb_seo->seo_url['forum'][$topic_data['forum_id']]) ) {
   $phpbb_seo->seo_url['forum'][$topic_data['forum_id']] = $phpbb_seo->set_url($topic_data['forum_name'], $topic_data['forum_id'], $phpbb_seo->seo_static['forum']);
}
// www.phpBB-SEO.com SEO TOOLKIT END


Ce qui veut dire, de récuperer ces données dès que ton script les fournit et avant la construction du premier lien :
Code: Tout sélectionner
$viewforum_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id);
$viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id);


Le passage par append_sid() s'occupe de tout le reste avec toutes les options.


Pour la pagination s'il y a lieu, il faut justa jouter :
Code: Tout sélectionner
&start=$start


dans l'uri passé à append_sid().

Suffit donc de récuperer les info nécéssaires ;)
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Publicité

Messagede Tranber » Jeu Juin 19, 2008 9:24 am

merci pour ta réponse.

Alors oui les sessions phpbb sont actives sur tout le site.
En fait si j'ai bien compris après avoir effectué ma requête pour récupérer la liste des derniers topics, je fais un echo de $viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id); avec les bons paramètres pour les 2 variables et hop ça marche ?

Bon je vais tester :)
Tranber
 
Messages: 16
Inscription: Dim Fév 24, 2008 2:38 pm

Messagede SeO » Jeu Juin 19, 2008 9:25 am

Code: Tout sélectionner
echo append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id);


Plutôt, mais c'est ça ;)
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede Tranber » Jeu Juin 19, 2008 9:36 am

re !

c'est étrange les url sont bien générées mais non rewritées !
Démo ici : http://www.extremepc.fr/test.php

Qu'en penses tu ?
Tranber
 
Messages: 16
Inscription: Dim Fév 24, 2008 2:38 pm

Messagede SeO » Jeu Juin 19, 2008 9:39 am

Tu n'as pas du correctement implémenté le code que je t'ai donné en exemple, il faut bien entendu adapté les noms de variables pour que ça marche ($topic_data dans l'exemple) et qu'elles soient bien renseignées.
Il faut bien entendu le faire avant l'utilisation de append_sid (dans la boucle donc).
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede Tranber » Jeu Juin 19, 2008 9:43 am

voici mon code :

Code: Tout sélectionner
$forum_id = (int) $res['forum_id'];
                  $topic_id = (int) $res['topic_id'];
                  // www.phpBB-SEO.com SEO TOOLKIT BEGIN
                  if ( empty($phpbb_seo->seo_url['topic'][$topic_id]) ) {
                     if ($topic_data['topic_type'] == POST_GLOBAL) {
                        $phpbb_seo->seo_opt['topic_type'][$topic_id] = POST_GLOBAL;
                     }
                     $phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url(censor_text($topic_data['topic_title']));
                  }
                  if ( empty($phpbb_seo->seo_url['forum'][$topic_data['forum_id']]) ) {
                     $phpbb_seo->seo_url['forum'][$topic_data['forum_id']] = $phpbb_seo->set_url($topic_data['forum_name'], $topic_data['forum_id'], $phpbb_seo->seo_static['forum']);
                  }
                  // www.phpBB-SEO.com SEO TOOLKIT END

                  $viewtopic_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
                  $viewforum_url = append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id");
                  echo "<a title=\"$titreLong\" href=\"$viewtopic_url\">$titre</a> (<em><a href=\"$viewforum_url\">$forumName</a></em>)<br/>";


et avec mon sql avec jointure :

Code: Tout sélectionner
$result = mysql_query("SELECT pt.topic_id ,pt.topic_last_post_id,pt.topic_title,pf.forum_name,pf.forum_id FROM phpbb3_topics pt,phpbb3_forums pf WHERE pt.forum_id <> '9' AND pt.forum_id <> '19' AND pt.forum_id <> '20' AND pt.forum_id = pf.forum_id ORDER BY pt.topic_last_post_id DESC LIMIT 0 , 20");
Tranber
 
Messages: 16
Inscription: Dim Fév 24, 2008 2:38 pm

Messagede SeO » Jeu Juin 19, 2008 9:46 am

Et bien remplace tous les $topic_data par des $res et ajoute le champs topic_type dans le select ;)
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede Tranber » Jeu Juin 19, 2008 9:50 am

oups oué la boulette ^^

là ça marche impéc, merci bien ;)
ça va permettre de booster encore un peu plus le réf d'avoir ces links sur la page d'accueil :D
Tranber
 
Messages: 16
Inscription: Dim Fév 24, 2008 2:38 pm

Précédente

Retourner vers mod Rewrite phpBB

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 9 invités


 
cron