Afficher les derniers posts en php sur une page externe

Le forum de support du mod de réécriture d'URL pour phpBB3 en version Avancée.
Ce mod de réécriture d'url injecte les titres forums et des sujets dans leurs URLs.

Modérateur: Modérateurs

Messagede lemoussel » Jeu Aoû 21, 2008 4:50 pm

En essayant de passer par les flux de GYM sitemaps & RSS j'ai l'erreur suivante :
Code: Tout sélectionner
Fatal error: Call to undefined function display_feed() in /home/villar/public_html/forum/last_posts_GYM.php on line 32


Et en regardant dans le fichier gym_common.php, je n'ai pas vu la fonction display_feed()

Donc là je coince (mes débuts d'utilisation du code PHP SEO sont un peu difficile :oops:)

Une petite aide est donc la bienvenue ! :)

Voici mon code de last_posts_GYM.php
Code: Tout sélectionner
<!-- INCLUDE overall_header.html -->
<!-- INCLUDE gym_link_body.html -->

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);


// GYM Sitemaps & RSS agregator
if (!empty($config['gym_installed'])) {
    if (!function_exists('display_feed')) {
        require_once($phpbb_root_path . 'gym_sitemaps/includes/gym_common.' . $phpEx);
    }
    $params = array(
        // Full URL to the RSS feed
        'url' => 'http://www.ville-arnieressuriton.fr/forum/rss/news/forum.xml',
        // true | false - Scroll the link list or not ?
        // Default is false
        'slide' => true,
        // number of item to parse
        // Default is 5
        'limit' => 10,
    );
    /**
     * display_feed($params, $tpl_prefix = '')
     * $params : array of params or string feed URL for defaults
     * tpl_prefix is for using different link blocks on one page
     * Use display_feed('http://www.example.com/rss/rss.xml') to use default settings.
     * */
    display_feed($params);
}

page_header('RSS Last Topics');
page_footer();
?>
<!-- INCLUDE overall_footer.html -->
Webmaster du forum L'itonScope. Le forum où l'on parle de tout et de rien !
Prévisions météo des départements de France .
Avatar de l’utilisateur
lemoussel
PR1
PR1
 
Messages: 113
Inscription: Ven Juil 18, 2008 6:42 am
Localisation: Haute-Normandie, Arnières sur Iton

Publicité

Messagede dcz » Sam Aoû 23, 2008 9:46 am

Le fonction est présente a partir de la version B3.

Cela dit, je doute que ton code marche, il n'est pas possible d'ajouter des tag de template dans des fichier php.

Une fois la B3 en place, essai le code sur index.php et index_body.html pour te faire un idée.

++
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: 21407
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede lemoussel » Sam Aoû 23, 2008 10:17 am

Google Yahoo MSN Sitemaps & RSS a été installé avec la Premod 3.0.2.

Si je comprends bien il faut que j'installe Google Yahoo MSN Sitemaps & RSS v2.0.B3

En remplacant tous les fichiers de mon forum par ceux présents sous le répertoire root de l'archive dans les sous répertoires ad'hoc de mon forum.
Ex. \root\adm\style => /forum/adm/style
J'ai bien tous compris :wink:
Webmaster du forum L'itonScope. Le forum où l'on parle de tout et de rien !
Prévisions météo des départements de France .
Avatar de l’utilisateur
lemoussel
PR1
PR1
 
Messages: 113
Inscription: Ven Juil 18, 2008 6:42 am
Localisation: Haute-Normandie, Arnières sur Iton

Messagede dcz » Sam Aoû 23, 2008 11:32 am

Il faut suivre ce qui est dit dans le fil : http://www.phpbb-seo.com/forums/gym-sit ... html#29499

Mise à jour
    Cette mise à jour ne modifie pas la base de donnée de GYM sitemaps & RSS.
    Pour mettre à jour écrasez simplement tous les fichiers de votre forum par ceux de l'archive.
    Vous devrez également refaire les modification du mod sur le fichier includes/functions.php (un seul changement) en retirant au préalable l'ancien code ajouté.
    Si vous avez personnalisé vos templates xsl pour les flux et les sitemaps, pas la peine de les merger, ils n'ont pas été modifiés.
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: 21407
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede lemoussel » Sam Aoû 23, 2008 12:51 pm

Installation effectuée sans PB.

Tous semble OK, sauf un petit soucis décrit içi : Installer B3 mais affichage B2

Doit y avoir un truc ! (je ne suis vraiment pas doué :oops:)
Webmaster du forum L'itonScope. Le forum où l'on parle de tout et de rien !
Prévisions météo des départements de France .
Avatar de l’utilisateur
lemoussel
PR1
PR1
 
Messages: 113
Inscription: Ven Juil 18, 2008 6:42 am
Localisation: Haute-Normandie, Arnières sur Iton

Messagede YoyoS » Mar Jan 13, 2009 9:31 pm

Bonsoir, excusez-moi de déterrer ce topic mais depuis les mises à jour au dessus de phpbb 3.0.2, la fonction

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


Ne fonctionne plus. Il y a un problème avec $phpbb_root_path et je ne vois pas lequel, j'ai essayé de lui donner toutes les valeurs possibles :/

Le répertoire courrant est par exemple:

/mon/repertoire/index.php

J'aimerais afficher dessus un lien avec la bonne réécriture et le forum se trouve à l'emplacement:

/forum/

Et il me crée un lien du genre:

home/blabla/www/forum/viewtopic.php?t=27&amp;f=6

J'ai essayé

Code: Tout sélectionner
$post_url = append_sid("./forum/viewtopic.$phpEx", "t=$topic_id");


ou encore

Code: Tout sélectionner
$post_url = append_sid("/forum/viewtopic.$phpEx", "t=$topic_id");


ou

Code: Tout sélectionner
$post_url = append_sid("../../forum/viewtopic.$phpEx", "t=$topic_id");


Mais rien à faire :/

Une idée svp ?
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Messagede YoyoS » Jeu Jan 15, 2009 10:29 pm

Une petite idée dcz d'ou pourrait venir le probleme ? J'ai réussi à faire fonctionner les liens seulement sur l'acceuil, en ajoutant à la main ./forum/viewtopic.php

Sinon ça marche plus dutout :/
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Messagede dcz » Lun Jan 26, 2009 11:06 am

Désolé pour le délais ;)

Donc, depuis la 0.4.8, la classe phpbb_seo fait de la réécriture en prenant en compte les chemins de chaque script, pour par exemple permettre l'utilisation de deux index.php dans deux différents dossiers.

Cela implique que $phpbb_root_path doit toujours être un chemin relatif et surtout, qu'il doit rester le même entre le moment ou il est crée et celui ou il est utilisé dans phpbb_seo_class.php. Que du normal en somme, mais plus stricte qu'auparavant ;)
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: 21407
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede YoyoS » Lun Jan 26, 2009 11:09 am

A d'accord, oui c'est beaucoup plus stricte alors.

Donc, le script en premiere page ne marche plus puisqu'on définit nous même : $phpbb_root_path = './forum/'; ?

Si je suis dans un répertoire /repertoire/mapage.php
je suis obligé de définir $phpbb_root_path = '../forum/';

Comment je fais alors ?

sinon c'est pas grave pour les délais, je comprends, c'est pour ça que j'ai pas insisté :P
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Messagede dcz » Lun Jan 26, 2009 11:19 am

Code: Tout sélectionner
$phpbb_root_path = './../forum/';

si :
Code: Tout sélectionner
www/forum/
www/repertoire/tapage.php


C'est plus correcte, et ça devrait marcher.
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: 21407
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede YoyoS » Lun Jan 26, 2009 12:07 pm

merci tous les liens fonctionnent nikel now ;) Tout ça à cause des "./" qui ne sont normalement pas obligatoires ^^
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Re: Afficher les derniers posts en php sur une page externe

Messagede YoyoS » Jeu Aoû 06, 2009 4:38 am

Bonjour à tous, je viens d'effectuer la mise à jour à la 3.0.5, je sais c'est un peu tardif xD

Mais voila, j'ai un petit soucis avec l'affichage des derniers topics maintenant. Les liens se présentent sous cette forme:

Code: Tout sélectionner
http://www.tutomaker.com/forum/faire-update-avec-des-conditions.html


alors que juste avant la maj ils se présentaient correctement, c'est à dire comme cela:

Code: Tout sélectionner
http://www.tutomaker.com/forum/faire-update-avec-des-conditions-t516.html


Pourtant j'utilise l'api a disposition comme avant:

Code: Tout sélectionner
$sql = "SELECT *
FROM phpbb3_topics T, phpbb3_posts P
WHERE P.post_id = T.topic_last_post_id
ORDER BY T.topic_id DESC
LIMIT 16";

$req = mysql_query($sql) or die(mysql_error());

// Boucle d'affichage du post
while($topic_data = mysql_fetch_array($req)) {

// 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");
echo '<a href="'.$post_url.'">';
echo $topic_title.'</a></li>';
}
mysql_close();


Savez-vous quels en sont le problème et la réponse svp ?

Merci à vous :)
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Re: Afficher les derniers posts en php sur une page externe

Messagede YoyoS » Jeu Aoû 06, 2009 10:28 am

En attendant une petite réponse j'ai mis en place ceci:

Code: Tout sélectionner
$post_url = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");
$post_url = preg_replace('/(.*).html(.*)/', '\\1-t'.$topic_id.'.html\\2', $post_url);
echo '<a href="'.$post_url.'">';
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

Re: Afficher les derniers posts en php sur une page externe

Messagede dcz » Jeu Aoû 06, 2009 12:03 pm

Oui, cela a un peu changé avec la 06.0.

Donc remplaces :
Code: Tout sélectionner
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]);
}

Par :
Code: Tout sélectionner
// www.phpBB-SEO.com SEO TOOLKIT BEGIN
$topic_data['topic_title'] = censor_text($topic_data['topic_title']);
if (empty($phpbb_seo->seo_opt['virtual_folder'] || !empty($phpbb_seo->seo_url['forum'][$forum_id]) || $topic_data['topic_type'] == POST_GLOBAL) {
   $phpbb_seo->prepare_iurl($topic_data, 'topic', $topic_data['topic_type'] == POST_GLOBAL ? $phpbb_seo->seo_static['global_announce'] : $phpbb_seo->seo_url['forum'][$forum_id]);
}
// www.phpBB-SEO.com SEO TOOLKIT END


Comme ton code ne reprends pas les infos des forums, j'ai ajouter de quoi tester si l'url du forum est dispo (depuis le cache) si tu utilise l'option dossiers virtuels. Donc, ça doit marcher dans tous les cas, sauf avec dossier virtuels pour des forums dont l'url ne serait pas en cache.

++
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: 21407
Inscription: Ven Avr 28, 2006 9:03 pm

Re: Afficher les derniers posts en php sur une page externe

Messagede YoyoS » Sam Aoû 08, 2009 3:10 am

merci ça marche nikel et non je n'utilise pas les répertoires virtuels :)

A++ !!
YoyoS
PR0
PR0
 
Messages: 54
Inscription: Lun Oct 09, 2006 11:00 pm

PrécédenteSuivante

Retourner vers Réécriture URL Avancée

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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