Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
Quelle fonction pour réécrire les URLs ?

 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » mod Rewrite phpBB3  » Réécriture URL Avancée
::  
Auteur Message
FrenchKiss
PR1
PR1


Inscrit le: 22 Déc 2006
Messages: 101

Quelle fonction pour réécrire les URLs ?Posté le: Mar Juil 08, 2008 8:31 am    Sujet du message: Quelle fonction pour réécrire les URLs ?

Hello,
je travaille actuellement sur le Wordpress d'un client, qui aimerait afficher la liste des X derniers topics actifs ... lesquels, je vous le donne émile, sont extraits d'un phpBB3 rewrités (advance) par les bons soins de phpBB-Seo.com (forever).

J'ai fouillé dans la class, mais c'est un peu trop orienté objet pour mes maigres connaissances et du coup, je ne parviens pas à savoir comment, à partir du titre / de l'id du topic, aboutir à la bonne URL. Dans quelle fonction faut-il balancer quels paramètres ?

Merci d'avance pour votre aide. En attendant, je continue de fouiller / tester Smile
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 14131

Quelle fonction pour réécrire les URLs ?Posté le: Mar Juil 08, 2008 9:01 am    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Ça sera beaucoup plus simple avec GYM 2.0, qui sort incessamment sous peu, en récupérant les urls réécrites a partir des flux RSS.
Si non, il vaut mieux partager les sessions de phpBB pour facilement pouvoir gérer toutes les possibilités.

Le principe, c'est comme dans viewtopic.php :

Code:
$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_censored[$topic_id] = censor_text($topic_data['topic_title']);
   $phpbb_seo->seo_url['topic'][$topic_id] = $phpbb_seo->format_url($phpbb_seo->seo_censored[$topic_id]);
}
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


Il faut le titre et id du sujet et du forum dans lequel il se trouve, plus le type du sujet pour les annonces globales, et envoyer le tout dans la class phpbb_seo.

Après, tu fait ton lien avec toutes les options directe :
Code:
$url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
FrenchKiss
PR1
PR1


Inscrit le: 22 Déc 2006
Messages: 101

Quelle fonction pour réécrire les URLs ?Posté le: Mer Juil 09, 2008 8:47 am    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Salut dcz, merci pour le tuyau.
J'ai bataillé un peu, mais j'arrive à quelque chose de probant ...
en revanche, peux-tu me confirmer que l'URL ainsi produite est bien zéro-dupe, et non une simple santisation du titre transformé en URL ?

Merci Wink
Revenir en haut de page
FrenchKiss
PR1
PR1


Inscrit le: 22 Déc 2006
Messages: 101

Quelle fonction pour réécrire les URLs ?Posté le: Mer Juil 09, 2008 10:19 am    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Hmm bon en fait ça déconne plein pot.
Je crois que l'include du common.php ne se fait pas :auriez-vous une idée de comment on peut tester si un include se fait correctement ?

Parce que pour couronner le tout, l'hébergeur de mon client a désactivé les messages d'erreur php ... vachement agréable de débugger à l'aveugle ...
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 14131

Quelle fonction pour réécrire les URLs ?Posté le: Mer Juil 09, 2008 3:43 pm    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Bah ouais c'est clair, si les erreurs sont complètement désactivés...

Tu 'nas pas d'accès au logs d'erreurs ? Ou tu peux pas générer un fichier texte ?

Si non, y'a toujours le bon vieux var_export().

Dans common, tu pourrais faire un ti :
Code:
var_export($config);


Voir :

echo '<pre>' . var_export($config, true) . '</pre>';

pour une plus belle mise en forme, en toute fin, si tu vois la config de phpBB, c'est que common est inclus et que la connexion à la db a bien été faite, et ainsi de suite ...

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
FrenchKiss
PR1
PR1


Inscrit le: 22 Déc 2006
Messages: 101

Quelle fonction pour réécrire les URLs ?Posté le: Ven Juil 11, 2008 8:43 am    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Re Smile
J'ai opté pour la solution la plus "simple" : appeler l'hébergeur et lui demander de réactiver ces messages d'erreurs.

Et du coup, j'obtiens ça :
Citation:
Fatal error: Call to a member function sql_query() on a non-object in /var/www/vhosts/expatriation.com/httpdocs/forum-expat/includes/cache.php on line 51


Pour info, voici à quoi ressemble mon script :
Code:

// REQUETE SQL, faite via Wordpress et sa classe SQL
global $wpdb;
            $actifs = $wpdb->get_results("
            SELECT t.topic_id, t.topic_title, f.forum_name, f.forum_id
            FROM phpbb_topics t, phpbb_forums f
            WHERE t.forum_id = f.forum_id
            ORDER BY t.topic_last_post_id 
            DESC LIMIT 10");

// PhpBB entre en scene ...
define('IN_PHPBB', true);
            $phpbb_root_path = "/var/www/vhosts/expatriation.com/httpdocs/forum-expat/";
            $phpEx = substr(strrchr(__FILE__, '.'), 1);
            include ($phpbb_root_path . 'common.'.$phpEx);

// mon merdier ensuite

Donc voilà, l'include de common.php se fait correctement, mais à mon avis, il appelle includes/cache.php qui lui veut faire une requete en utilisant la classe $db ... qui n'est pas définie. J'ai bon m'sieur ?
Oui ok, mais dans ce cas comment faire ?
Moi je veux pas que include/cache.php me fasse des appels SQL.
Moi je veux juste formater mes URLs Sad
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 14131

Quelle fonction pour réécrire les URLs ?Posté le: Ven Juil 11, 2008 12:12 pm    Sujet du message: Re: Quelle fonction pour réécrire les URLs ?

Ah, bah si tu es en plus dans une session WP, c'est normal qu'il y ait des problèmes, dans ton cas il doit y avoir conflit entre la classe SQL de WP et celle de phpBB, pour faire ce que tu veux il faudrait donc n'inclure aucun script de phpBB.

Le partage de deux sessions dans un script est toujours délicat de ce point de vu, le mieux serait de te faire une classe de partage de sessions utilisant le code de WP (et donc sa classe db) et ainsi éviter de mélanger les deux codes.

Tout ça pour avoir accès aux sessions et autorisations de phpBB, s'il s'agit que de réécrire des liens publics, c'est plus simple, mais il faut quand même forcer un peut l'usage de la classe phpbb_seo. Pour cela si tu code un peu, il faut simplement renseigner un tableau $config et éventuellement renseigner un status enregistré / pas enregistré dans une classe $user, regardes le code, y'a pas tant de dépendances que ça pour l'utiliser complètement en dehors de phpBB.

Si non, y'a la solution bien plus simple avec magpie, tu récupères les liens depuis des flux RSS fait avec GYM sitemaps, comme ça t'a direct les bons et avec les autorisations si tu le souhaites. En plus avec le cache de magpie, cela n'entraîne que rarement une deuxième connexion à la db, c'est super rapide. Le cache est également l'inconvénient, il y a dans ce cas un délais pour la mise à jour des liens, mais c'est tout de même dynamique.

J'en parle plus précisément ici : http://www.phpbb-seo.com/forums/reecriture-url-avancee/discussions-vt3258.html#28330

Wink

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » mod Rewrite phpBB3  » Réécriture URL Avancée
Page 1 sur 1

Navigation Autres sujets de discussion

Sauter vers: