Script maison pour récup topics d'un forum mais incompatible

Pour parler de code et de mods.
Les requêtes de patch, le partage de solutions et de d'astuces qui permettent d'optimiser phpBB2 et son référencement.

Modérateur: Modérateurs

Script maison pour récup topics d'un forum mais incompatible

Messagede Tagada » Mar Fév 03, 2009 7:33 am

... avec le mod avancé SEO

J'ai récup ce code mais je n'arrive pas à l'adapter pour qu'il me récupère les URLs réécrites par le Mod SEO :(

Code: Tout sélectionner
<?php
    define('IN_PHPBB', true);
    $phpbb_root_path = './'; // Path to phpbb folder
    $phpEx = substr(strrchr(__FILE__, '.'), 1);
    include($phpbb_root_path . 'common.' . $phpEx);
    include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

    $user->session_begin();
    $auth->acl($user->data);
    $user->setup();

    define('TOPICS_LIMIT',10);

    $topics = array();
       
    $forums = array_unique(array_keys($auth->acl_getf('f_read', true)));
       
    $sql="SELECT *
        FROM " . TOPICS_TABLE . "
        WHERE topic_approved = '1' AND " . $db->sql_in_set('forum_id', $forums) . "
        ORDER BY topic_last_post_time DESC";
        $result = $db->sql_query_limit($sql,TOPICS_LIMIT);
        while ($r = $db->sql_fetchrow($result))
        {
            $topics[] = $r;
        }
       $db->sql_freeresult($result);
    ?>
    <div>
    <?php
           
        foreach($topics as $t)
        {
            $topic_tracking_info = get_complete_topic_tracking($t['forum_id'], $t['topic_id']);
            $unread_topic = (isset($topic_tracking_info[$t['topic_id']]) && $t['topic_last_post_time'] > $topic_tracking_info[$t['topic_id']]) ? true : false;
            $folder_img = $folder_alt = $topic_type = '';
            topic_status($t, $t['topic_replies'], $unread_topic, $folder_img, $folder_alt, $topic_type);
           
           ?>
                <img style="vertical-align: text-bottom" src="<?=$user->img($folder_img, $folder_alt, false, '', 'src');?>" title="<?=$user->lang[$folder_alt];?>" alt="<?=$user->lang[$folder_alt];?>" />
                <a href="<?=$phpbb_root_path . 'viewtopic.php?f=' . $t['forum_id'] . '&amp;t=' . $t['topic_id'] . '&amp;p=' . $t['topic_last_post_id'] . '#p' . $t['topic_last_post_id'];?>"><?=html_entity_decode($t['topic_title']);?></a><br />
        <?
        }
        ?>
    </div>


si quelqu'un a une idée de comment je dois m'y prendre ?
Tagada
 
Messages: 18
Inscription: Dim Fév 01, 2009 6:16 pm

Publicité

Messagede ErnadoO » Mar Fév 03, 2009 11:45 am

Utilise la fonction append_sid() pour générer tes liens, car c'est lors de l'appel à cette fonction que le mod seo opère ;)
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
ErnadoO
phpBB SEO Team
phpBB SEO Team
 
Messages: 333
Inscription: Ven Sep 15, 2006 4:57 pm
Localisation: Paris

Messagede Tagada » Mar Fév 03, 2009 1:18 pm

ErnadoO a écrit:Utilise la fonction append_sid() pour générer tes liens, car c'est lors de l'appel à cette fonction que le mod seo opère ;)
heu...

mais encore ?
Tagada
 
Messages: 18
Inscription: Dim Fév 01, 2009 6:16 pm

Messagede ErnadoO » Mar Fév 03, 2009 4:56 pm

Code: Tout sélectionner
<?=$phpbb_root_path . 'viewtopic.php?f=' . $t['forum_id'] . '&amp;t=' . $t['topic_id'] . '&amp;p=' . $t['topic_last_post_id'] . '#p' . $t['topic_last_post_id'];?>
à remplacer par
Code: Tout sélectionner
<?=append_sid($phpbb_root_path . 'viewtopic.php', array('f' => $t['forum_id'], 't' => $t['topic_id'], 'p' => $t['topic_last_post_id'])) . '#p'.$t['topic_last_post_id'];?>
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
ErnadoO
phpBB SEO Team
phpBB SEO Team
 
Messages: 333
Inscription: Ven Sep 15, 2006 4:57 pm
Localisation: Paris

Messagede Tagada » Mar Fév 03, 2009 6:12 pm

Merci ErnadoO,

par contre j'ai encore un soucis

avec ta modif ça me permet d'avoir une URL du type http://localhost/phpbb/phpBB3/post4.html#p4

comment puis je accéder à l'urul du type http://localhost/phpbb/phpBB3/nom_du_fo ... ic-t4.html ?
Tagada
 
Messages: 18
Inscription: Dim Fév 01, 2009 6:16 pm

Messagede ErnadoO » Mar Fév 03, 2009 6:51 pm

Essaie:
Code: Tout sélectionner
<?=append_sid("{$phpbb_root_path}viewtopic.$phpEx", array('f' => $t['forum_id'], 't' => $t['topic_id']));?>
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
ErnadoO
phpBB SEO Team
phpBB SEO Team
 
Messages: 333
Inscription: Ven Sep 15, 2006 4:57 pm
Localisation: Paris

Messagede Tagada » Mar Fév 03, 2009 7:07 pm

ErnadoO a écrit:Essaie:
Code: Tout sélectionner
<?=append_sid("{$phpbb_root_path}viewtopic.$phpEx", array('f' => $t['forum_id'], 't' => $t['topic_id']));?>
non ce coup çi, je suis revenu à l'état précédent avec viewtopic.php etc. :|

j'ai également essayé de faire

Code: Tout sélectionner
append_sid($phpbb_root_path . 'viewtopic.php', array('f' => $t['forum_id'], 't' => $t['topic_id']))
mais sans plus de succès :(
Tagada
 
Messages: 18
Inscription: Dim Fév 01, 2009 6:16 pm

Messagede ErnadoO » Mer Fév 04, 2009 8:48 am

Tagada a écrit:
Code: Tout sélectionner
append_sid($phpbb_root_path . 'viewtopic.php', array('f' => $t['forum_id'], 't' => $t['topic_id']))
mais sans plus de succès :(
Normal c'est le même code que celui que je t'ai donné :o
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
ErnadoO
phpBB SEO Team
phpBB SEO Team
 
Messages: 333
Inscription: Ven Sep 15, 2006 4:57 pm
Localisation: Paris

Messagede Tagada » Mer Fév 04, 2009 9:11 am

je viens de résoudre mon pb en ajoutant ces 2 lignes

Code: Tout sélectionner
$phpbb_seo->seo_censored[$t['topic_id']] = censor_text($t['topic_title']);
                  $phpbb_seo->seo_url['topic'][$t['topic_id']] = $phpbb_seo->format_url($phpbb_seo->seo_censored[$t['topic_id']]);


je sais pas pourquoi mais ça semble réinitialiser le cache ou la gestion du rewriting en passant ces 2 lignes avant l'utilisation de append_sid :)

en tout les cas, à présent, ça marche :)
Tagada
 
Messages: 18
Inscription: Dim Fév 01, 2009 6:16 pm

Messagede ErnadoO » Mer Fév 04, 2009 12:06 pm

De rien :roll:
phpBB-Services.com: L'hébergement et l'assistance de votre forum phpBB en toute tranquillité.
ErnadoO
phpBB SEO Team
phpBB SEO Team
 
Messages: 333
Inscription: Ven Sep 15, 2006 4:57 pm
Localisation: Paris

Messagede dcz » Mer Fév 04, 2009 1:44 pm

Tagada a écrit:je sais pas pourquoi mais ça semble réinitialiser le cache ou la gestion du rewriting en passant ces 2 lignes avant l'utilisation de append_sid :)

en tout les cas, à présent, ça marche :)


C'est normal, il faut refiler les titres à la classe phpbb_seo quand il y a injection, on est en train de réécrire largement la classe pour rendre l'opération plus standard et plus simple à mettre en place.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21398
Inscription: Ven Avr 28, 2006 9:03 pm


Retourner vers Mods et Code phpBB2

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité