[réglé] Derniers posts en mode rewritte avancé

Forum consacré à phpBB lui même. Comment tirer le meilleur de ce puissant forum.
Veuillez noter que ce forum n'est pas un forum de support officiel, il s'agit ici plus de partager que de demander.

Modérateur: Modérateurs


[réglé] Derniers posts en mode rewritte avancé

Messagede skieur » Mar Juin 03, 2008 2:40 pm

Bonjour,

je viens de migrer de phpBB2 à phpBB3 premod seo.

Très dur pour cause de nombreuses modifs persos, mauvais week end.

Enfin bon à force de passer les tables à la main c'est fait :lol:

Il me reste quelques problèmes, par exemple j'utilisai le mod rewrite intermediaire sur phpBB2 et j'avais mis un bout de code sur la page d'accueil du site pour avoir les derniers messages. Je l'ai modifié ainsi pour phpBB3 :

Code: Tout sélectionner
<?php

connection base;


$select = "SELECT topic_title,topic_id,topic_last_post_id,topic_replies,topic_poster FROM phpbb3_topics ORDER BY topic_last_post_id DESC limit 22";
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );


echo '<p class="row"><strong>Derniers messages sur le forum :</strong>';
while($row = mysql_fetch_array($result))
{
$topic_id = $row['topic_id'];
$user_id = $row['topic_poster'];
$reponse = $row['topic_replies'];
$titre = $row['topic_title'];

$change_space = "-";
$url_title = $titre;
$url_title = strtolower($url_title);
$url_title = strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
$url_title = preg_replace("/(&gt;|&lt;|&quot;|&amp;)/",$change_space,$url_title);
$url_title = preg_replace("/[^a-z0-9_\-]/",$change_space,$url_title);
$url_title = preg_replace("/[$change_space]+/",$change_space,$url_title);
($url_title{0} == $change_space ? $url_title = substr($url_title,1) : '' );
         ($url_title{strlen($url_title)-1} == $change_space ? $url_title = substr($url_title,0, strlen($url_title)-1) : '' );
$select2 = "SELECT user_id,username FROM phpbb_users WHERE user_id=$user_id";
$result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
$row2 = mysql_fetch_array($result2);
if($reponse <= 1){$nb_rep='réponse';}else{$nb_rep='réponses';}

echo '<span class="cols2"><a href="http://www.carrelski.com/phpBB2/topic'.$topic_id.'.html"><b>'.$titre.'</b></a></span>';



}
echo '&nbsp;</p>';


mysql_free_result($result);
mysql_close();
?>

Le problème c'est que j'utilise maintenant le mode rewritte avancé.
Comment faire pour que l'url donné soit conforme au mode rewritte avancé ?



forum : http://www.carrelski.com/forum/


Merci.
Dernière édition par skieur le Dim Juin 08, 2008 9:37 am, édité 2 fois.
site de ski alpin I annuaire sport et webmaster favorise le référencement
skieur
PR1
PR1
 
Messages: 176
Inscription: Dim Aoû 19, 2007 6:26 pm

Publicité

Messagede dcz » Mer Juin 04, 2008 9:27 am

Tu pourrais t'inspirer de ce message : http://www.phpbb-seo.com/forums/develop ... t2898.html

++
dcz
Administrateur - Site Admin
Administrateur - Site Admin
 
Messages: 17678
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede skieur » Mer Juin 04, 2008 7:42 pm

Bon je vais m'en inspirer.

Mais j'utilise le filtre pour mots court. Cela veut donc dire qu'il me faut utiliser les sessions phpbb :?

Ou est que l'on peut trouver de l'info précise la dessus ?



Merci.
site de ski alpin I annuaire sport et webmaster favorise le référencement
skieur
PR1
PR1
 
Messages: 176
Inscription: Dim Aoû 19, 2007 6:26 pm

Messagede SeO » Mer Juin 04, 2008 9:45 pm

Tu pourrais utiliser une version sur mesure de format_url (avec la bonne REgEx pour les mots courts), mais tant qu'a faire, si ta page est pas déjà construite par un script type blog ou cms, tu peux envisager de partager les sessions assez facilement (enfin, pour les sessions t'es pas obligé, mais au moins son script) :
En début de fichier :
Code: Tout sélectionner
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);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);


Et si tu veux des sessions (fichier langues, autorisations ...), tu ajoutes :

Code: Tout sélectionner
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();


Et hop ;)
SeO
Administrateur - Site Admin
Administrateur - Site Admin
 
Messages: 5527
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede skieur » Jeu Juin 05, 2008 8:57 pm

Bonjour,

je vais me mettre aux sessions phpbb mais j'y comprend rien :?

utiliser une version sur mesure de format_url


C'est quoi ?

define('IN_PHPBB', true);


Cela lance la session ?

$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';


Recupere root_path.

$phpEx = substr(strrchr(__FILE__, '.'), 1);


??

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
???

Il faut que je lise des truc sur le forum phpbb pour comprendre ces sessions ?

Sinon c'est pas un cms que j'utilise sur la page d'accueil, mais je vois pas comment cela peut marcher en mettant juste ce que tu m'a donné.


Merci de votre aide.
site de ski alpin I annuaire sport et webmaster favorise le référencement
skieur
PR1
PR1
 
Messages: 176
Inscription: Dim Aoû 19, 2007 6:26 pm

Messagede SeO » Jeu Juin 05, 2008 9:50 pm

C'est juste pour partager le script de phpBB (et donc ces fonctions et classes) et les sessions, en version commentée ça donne :

Code: Tout sélectionner
define('IN_PHPBB', true);

On définit la constante IN_PHPBB, cela permet l'inclusion des scripts de phpBB, c'est une mesure de sécurité, sans cela on ne peut rien inclure.
Code: Tout sélectionner
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';

On défini effectivement $phpbb_root_path le chemin du script vers le dossier de phpBB, c'est fait comme cela par défaut, la constante PHPBB_ROOT_PATH pourrait être définie avant cela dans le cas d'une intégration de phpBB, mais dans la plupart des cas, tu peux juste mettre :
Code: Tout sélectionner
$phpbb_root_path = './';

avec le bon chemin donc.
Code: Tout sélectionner
$phpEx = substr(strrchr(__FILE__, '.'), 1);

C'est pour récuperer l'extension du fichier de façon dynamique, pour les cas ou cela serait ".php4" par exemple, si c'est '.php', $phpEx = 'php'.
Code: Tout sélectionner
include($phpbb_root_path . 'common.' . $phpEx);

Donc à ce stade on peut include des scripts, l'inclusion de common.php inclue égallement la plupart des scripts nécessaires à phpBB, lance la connexion db, récupère la config, et lance les autre classe comme cache et template.

A partie de là, tu peux utiliser la classe phpbb_seo et toues les classes et fonction de phpBB de base.

Tu peux donc, mais c'est pas obligé, même si ça permet plein de trucs, lancer aussi une session :
Code: Tout sélectionner
$user->session_begin();

On lance la session
Code: Tout sélectionner
$auth->acl($user->data);

on récupères les autorisation de l'utilisateur
Code: Tout sélectionner
$user->setup();

on lance les préférences utilisateurs (langue, date etc).
Par défaut le fichier langue common.php est inclus, tu peux ajouter d'autre dans $user->setup() si tu as besoin.

On est loin du sujet de départ, mais bon, de là, on peut commencer à utiliser la classe phpbb_seo.
SeO
Administrateur - Site Admin
Administrateur - Site Admin
 
Messages: 5527
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede skieur » Jeu Juin 05, 2008 10:08 pm

Ok,

merci pour tes réponses rapides. Je commence à me sentir moins nul en session phpbb.

Il me reste donc à savoir comment utiliser la classe phpbb_seo pour avoir les url rewrité en mode avancé :?

Si quelqun sait merci :P
site de ski alpin I annuaire sport et webmaster favorise le référencement
skieur
PR1
PR1
 
Messages: 176
Inscription: Dim Aoû 19, 2007 6:26 pm

Messagede skieur » Dim Juin 08, 2008 9:40 am

Ca y est c'est réglé ouf :lol:

Quel boulot tout ça.

Le problème c'est que entre la migration où j'ai du me taper toutes les tables pour voir ce qui clochait et les modif ou j'ai du rentrer dans le code j'ai l'impression de connaitre tout le script maintenant.

Donc au passage ceux qui transforment les tables en local sur leur pc n'oubliez pas de modifier les paramètres des cookies phpbb3 dans la table config, c'est pas dit partout sur le net :lol: :lol:
site de ski alpin I annuaire sport et webmaster favorise le référencement
skieur
PR1
PR1
 
Messages: 176
Inscription: Dim Aoû 19, 2007 6:26 pm

Messagede dcz » Lun Juin 09, 2008 9:16 am

skieur a écrit:Donc au passage ceux qui transforment les tables en local sur leur pc n'oubliez pas de modifier les paramètres des cookies phpbb3 dans la table config, c'est pas dit partout sur le net :lol: :lol:


C'est clair et c'est assez crucial ;)
dcz
Administrateur - Site Admin
Administrateur - Site Admin
 
Messages: 17678
Inscription: Ven Avr 28, 2006 9:03 pm


Retourner vers Le Forum phpBB




Qui est en ligne

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