| :: |
| Auteur |
Message |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 173
|
Posté le: Mer Jan 16, 2008 10:03 pm Sujet du message: Afficher les derniers posts en php sur une page externe |
|
|
Bonsoir,
Avec phpbb2 j'affichais les derniers posts de mon forum sur une page extérieure au forum (ma page d'accueil). J'étais en mode simple et ajoutais simplement le numéro du topic à la fin d'une url type de sujet (ex : -exemple.com/forum/topic$id.html)
J'aimerais tout simplement faire la même chose avec phpbb3 mais cette fois ci en mode avancé. La chose m'impose donc de fait de passer par la fonction de phpbb seo permettant de "convertir" les urls.
Je ne suis pas sûr de la bonne utilisation de la chose, mais j'ai un autre problème avant celui là :-/.
Voici mon code :
| Code: |
// Connexion à la BDD
(...)
// Change this to your phpBB URL
$urlPath = "http://www.exemple.com/forum";
// Change this to your phpBB path
$phpbb_root_path = './forum/';
define('IN_PHPBB', true);
include($phpbb_root_path . 'phpbb_seo/phpbb_seo_class.php');
include($phpbb_root_path . 'common.php');
// Sélection des 10 derniers posts
$sql = "SELECT PST.post_subject, PST.post_text, PST.poster_id, PST.post_time, U.username
FROM phpbb3_posts PST, phpbb3_users U
WHERE U.username = PST.poster_id
GROUP BY PST.topic_id
ORDER BY PST.post_time ASC
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 = $db_data['post_subject'];
// Url du post
$topic_id = $db_data['topic_id'];
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]);
}
$post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "t=$topic_id");
|
Le message suivant s'affiche : | Citation: | The config. file could not be found.
Click here to install phpBB |
J'imagine bien que c'est dans la déclaration de mes fichiers de base que ça bug, mais je ne vois pas comment rectifier la chose afin de rebidouiller ça dans le bon sens.
Pourriez-vous m'aider à biduler le trublion dans le bon sens s'il vous plait ?
ps : en plus je pense que ça pourra intéresser quelques personnes ... |
_________________ L'insolite Yazerty.Net - Interprétation et signification des rêves |
|
| Revenir en haut de page |
|
 |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14814
|
Posté le: Ven Jan 18, 2008 9:42 am Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Donc, pas besoin d'inclure la classe phpBB SEO si tu inclus common.php, ce sera déjà fait.
Pour ton problème de chemins, tu utilises bien ce script à la racine d'un domaine, avec phpBB installé dans le dossier forum/ ?
Vu que tu inclus common.php, tu devrais aussi en profiter pour utiliser la classe db de phpBB, voir pour lancer une sessions utilisateur.
Enfin, pour les url, si tu veux des urls de sujets, il faudrait faire une autre jointure sur la table des sujets, pour récupérer le type de sujet ($topic_data['topic_type']) et sont titre ($topic_data['topic_title']), voir, aussi le titre et l'id du forum pour bien faire, même si le cache du mod permettra quand même l'injection des url de forum en cache au besoin.
Le but pour être universel, c'est :
| Code: | | $post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id"); |
Donc, pour la requête, tu peux commencé par la table des sujets, vu qu'il y a les infos pour savoir quels sont les plus récentes, joindre la table des forums pour le titre du forum, et joindre la table des posts uniquement si tu veux aussi afficher le contenu de ceux ci.
++ |
_________________ 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 |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 173
|
Posté le: Ven Jan 18, 2008 11:48 am Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
J'essaie d'avancer pas à pas...
j'aboutis à cette requête :
| Code: | // Sélection des 10 derniers posts
$sql = "SELECT T.topic_id, T.forum_id, T.topic_title, T.topic_type, T.topic_first_poster_name, T.topic_time, P.post_text
FROM phpbb3_topics T, phpbb3_posts P
WHERE P.post_id = T.topic_last_post_id
ORDER BY T.topic_id DESC
LIMIT 10"; |
Ca semble afficher ce que je veux . (et ce qu'il faut pour faire par la suite une réécriture d'url avec tous les éléments nécessaires )
Lancer une session utilisateur dès la page d'accueil me plairait peut-être . Je verrai ça un peu plus tard par contre (c'est plus un effet de style qu'autre chose car comme mon site se résume au forum les membres sont très souvent sur le forum et peu souvent sur la page d'accueil en pratique...).
Par contre j'ai toujours un problème avec l'inclusion du fichier common .
Tu as parfaitement compris mon environnement :
- page index.php à la racine, sur laquelle je veux afficher les derniers posts. Dans cette page index.php je fais un include('lasts.php') (pour clarifier le code).
- page lasts.php située à la racine également.
- forum situé dans un répertoire "/forum" à partir de la racine.
Et donc quand je fais ceci :
| Code: | // Environnement
$urlPath = "http://www.exemple.com/forum";
$phpbb_root_path = './forum/';
define('IN_PHPBB', true);
include($phpbb_root_path . 'common.php'); |
Cela m'affiche :
| Citation: | The config. file could not be found.
Click here to install phpBB |
Je ne vois pas ce qui peut buguer dans ce code là :- ? |
_________________ L'insolite Yazerty.Net - Interprétation et signification des rêves |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14814
|
|
| Revenir en haut de page |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 173
|
Posté le: Ven Jan 18, 2008 4:11 pm Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Bien vu !!
Par contre j'ai un bug étrange dans la génération des urls "rewrittées" : les accents sont remplacés par des "-" sur ma page index.php (ex : "succ-s-m-rit-), mais ça redirige ensuite sur la bonne url, à savoir une url ou les lettres accentuées sont transformées en lettres sans accents (ex : "succes-merite").
Pourtant j'utilise la fonction sans modif :
| Code: | // Données du topic
$topic_title = $topic_data['topic_title'];
$forum_id = $topic_data['forum_id'];
$topic_id = $topic_data['topic_id'];
// Url du post
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]);
}
$post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id"); |
Je suis persuadé d'avoir trouvé cette fonction dans un fichier du premod en cherchant à savoir comment marchait le système de rewritting, mais je n'arrive pas à retrouver l'endroit où je l'avais trouvé pour voir si ce code est bien le bon :-/. |
_________________ L'insolite Yazerty.Net - Interprétation et signification des rêves |
|
| Revenir en haut de page |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 173
|
Posté le: Sam Jan 19, 2008 12:32 pm Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Aaah je crois que c'est bon, il me manquait un mysql_query('SET NAMES utf8'); pour que ma requête ressorte sous le bon formattage. C'est vrai qu'on est passé à l'utf8 avec phpbb3 ... ! |
_________________ L'insolite Yazerty.Net - Interprétation et signification des rêves |
|
| Revenir en haut de page |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 173
|
|
| Revenir en haut de page |
|
 |
YoyoS
Inscrit le: 09 Oct 2006 Messages: 37
|
Posté le: Jeu Aoû 14, 2008 6:22 pm Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
| EDIT: a supprimer , sorry c'était une bête question ^^ |
_________________ Visitez mon site de tutoriels informatiques |
|
| Revenir en haut de page |
|
 |
lemoussel PR0


Inscrit le: 18 Juil 2008 Messages: 75 Localisation: Haute-Normandie, Arnières sur Iton
|
Posté le: Ven Aoû 15, 2008 12:47 pm Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
yazerty,
Etant intéressé par ton script, pourrais tu le mettre à dispo ?
Merci. |
|
|
| Revenir en haut de page |
|
 |
YoyoS
Inscrit le: 09 Oct 2006 Messages: 37
|
|
| Revenir en haut de page |
|
 |
lemoussel PR0


Inscrit le: 18 Juil 2008 Messages: 75 Localisation: Haute-Normandie, Arnières sur Iton
|
Posté le: Sam Aoû 16, 2008 7:10 am Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Merci
Et voilà le résultat : http://www.ville-arnieressuriton.fr/lastposts.php
Reste plus qu'a intègrer le tout dans la page d'accueil du site. |
|
|
| Revenir en haut de page |
|
 |
YoyoS
Inscrit le: 09 Oct 2006 Messages: 37
|
Posté le: Sam Aoû 16, 2008 9:19 am Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Pas mal, t'as fait le plus dur à mon avis  |
_________________ Visitez mon site de tutoriels informatiques |
|
| Revenir en haut de page |
|
 |
SeO Administrateur - Site Admin

Inscrit le: 15 Mar 2006 Messages: 3482
|
|
| Revenir en haut de page |
|
 |
lemoussel PR0


Inscrit le: 18 Juil 2008 Messages: 75 Localisation: Haute-Normandie, Arnières sur Iton
|
Posté le: Sam Aoû 16, 2008 2:55 pm Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
Je ne peux essayer ces scripts car il me manque functions_demo.php.
Par ex. dans le script rss-links.php il y a :
| Code: | | include($phpbb_root_path . 'demo/functions_demo.' . $phpEx); |
|
|
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 14814
|
Posté le: Lun Aoû 18, 2008 9:26 am Sujet du message: Re: Afficher les derniers posts en php sur une page externe |
|
|
En fait, c'est un exemple, le but n'est pas de reproduire cette page exactement.
Le code inclus ne sert qu'a afficher la source de l'exemple.
Donc, le principe, c'est d'ajouter le code situé entre les commentaires :
| Code: | | // GYM Sitemaps & RSS agregator |
avant :
et d'ajouter :
| Code: | | <!-- INCLUDE gym_link_body.html --> |
dans le template correspondant au fichier (index_body.html si tu ajoutes ce code dans index.php etc ...) à l'endroit ou tu veux afficher la liste.
C'est toujours le même principe, peut importe la page et peut importe les options.
++ |
_________________ 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 |
|
 |
|
|