| |
|
| :: |
| Auteur |
Message |
KeusssiX PR0

Inscrit le: 27 Oct 2006 Messages: 67 Localisation: Lille, 59 France
|
Posté le: Mar Nov 07, 2006 10:56 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
pareil pour moi
le lien est de la forme topicXX.html, qui correspond à titre_du_topic.vtXX.html, ça fait 2 liens affichés pour une seule page ?
idem pour member
mais je suis sous avanced rewrite, c'est donc p'tet normal ? |
|
|
| Revenir en haut de page |
|
 |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 178
|
Posté le: Mar Nov 07, 2006 11:19 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Oui, j'ai fait le script pour mon phpbb seo simple rewrite mod. Il est donc normal que ça ne fonctionne pas pour le mode avancé.
Il faudrait remettre les url d'aplomb pour qu'elles soient ok quel que soit le mod urtilisé. |
_________________ 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: 15131
|
|
| Revenir en haut de page |
|
 |
KeusssiX PR0

Inscrit le: 27 Oct 2006 Messages: 67 Localisation: Lille, 59 France
|
Posté le: Mar Nov 07, 2006 11:51 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
ben, moi j'ai bien placé ce script au début de chaque page pour partager les sessions, ce qui m'évite au passage de faire appel à la bdd.
| Code: | define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SITE);
init_userprefs($userdata);
//
// End session management
// |
mais au vu du code suivant, je suis forcément redirigé vers des pages de la mauvaise forme.
comment écrire donc l'url de sortie ? (PS : je suis sous phpbb seo advanced rewrite mod)
| Code: | // Sélection des 5 derniers posts
#exception pour la page d'accueil
$page = $_GET['page'];
if ($page == 'accueil') {
$nbr = 8; }
else {
$nbr = 5; }
$sql = "SELECT TP.topic_id, TP.topic_title, TP.topic_replies, PT.post_text, PST.post_time, PST.poster_id, PST.post_username, US.username, p2.post_time AS last_post_time, p2.post_username AS last_post_username
FROM forum_topics TP, forum_posts_text PT, forum_posts PST, forum_users US, forum_posts AS p2
WHERE PT.post_id = TP.topic_first_post_id
AND PST.post_id = TP.topic_first_post_id
AND US.user_id = TP.topic_poster
AND p2.post_id = TP.topic_last_post_id
GROUP BY TP.topic_id
ORDER BY TP.topic_id DESC
LIMIT $nbr";
$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 = "<a href=\"http://www.toutalamaison.com/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>";
// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 200;
if (strlen($post)>$max_caracteres) {
$max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
$post = substr($post, 0, $max_caracteres);
$post .= " (...)";
}
// Traitement des variables alphanumériques des bbcodes
$post = preg_replace("(\[.*\])U","",$post );
// Traitement du nom de l'auteur
if ($db_data['poster_id'] != '-1' ) {
$poster = "<a href=\"".append_sid("$urlPath/forum/member".$db_data['poster_id']).".html\" class=\"nav\" >".$db_data['username']."</a>";
}
else {
$poster = $db_data['post_username'];
}
// Traitement des réponses
$nombre = $db_data['topic_replies'];
$reponses = $lang['Replies'];
if ($nombre == 0) {
$reponses = "";
}
else {
$reponses = "($nombre $reponses)";
}
// Traitement de la date du post
$post_time = gmdate("d M Y \à H:i:s", $db_data['last_post_time']+(3600));
echo "<p align=\"left\">$post_title, <span class=\"Style100\">par $poster, le $post_time $reponses</span><br />
$post</p>";
} |
|
|
|
| Revenir en haut de page |
|
 |
yazerty PR1

Inscrit le: 30 Oct 2006 Messages: 178
|
Posté le: Mer Nov 08, 2006 6:22 am Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Aah, l'ouverture de session sert à ça ^^. Bon bah ui, on peut la mettre en haut de la page qui incluera les codes pour les derniers sujets actifsvia un include() . |
_________________ 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: 15131
|
Posté le: Mer Nov 08, 2006 9:28 am Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Et du coup, tu peux injecter le titres dans les URLs de sujets en faisant cette modif :
| Code: | // Titre du post
$post_title = "<a href=\"http://www.toutalamaison.com/forum/topic" . $db_data['topic_id'] . ".html\">" . $db_data['topic_title'] . "</a>"; |
deviendrais :
| Code: | // Titre du post
$seo_topic_title = $db_data['topic_title'] ;
$post_title = "<a href=\"'' . append_sid("http://www.toutalamaison.com/forum/topic" . $db_data['topic_id'] . ".html") . "\">" . $db_data['topic_title'] . "</a>"; |
Idéalement, il faudrait censurer les titres avant de les envoyer, en mettant :
| Code: | //
// Define censored word matches
//
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word); |
Après :
| Code: |
// Sélection des 5 derniers posts |
Et :
| Code: | | $db_data['topic_title'] = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $db_data['topic_title']) : $db_data['topic_title']; |
Après :
| Code: | // Boucle d'affichage du post
while($db_data = mysql_fetch_assoc($req)) { |
++ |
_________________ 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 |
|
 |
doudou phpBB SEO Team

Inscrit le: 17 Sep 2006 Messages: 335 Localisation: Dans son Coeur...
|
Posté le: Ven Nov 24, 2006 3:45 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Salut,
J'ai parcourru ce post qui est assez intessant et instructif. J'ai compris le principe.
Mais j'ai une question: comment faire avec une version Mod SEO avancé ?
Car si moi je fais cette modification, cela créerait du duplicate.
Comment modifier pour que cela compatible avec le Mod SEO Avancé ?
| Code: |
$connection=mysql_connect("xxx","xxx","xxx");
mysql_select_db("xxx");
// Sélection des 5 derniers posts
#exception pour la page d'accueil
$page = $_GET['page'];
if ($page == 'accueil') {
$nbr = 8; }
else {
$nbr = 5; }
$sql = "SELECT TP.topic_id, TP.topic_title, TP.topic_replies, PT.post_text, PST.post_time, PST.poster_id, PST.post_username, US.username, p2.post_time AS last_post_time, p2.post_username AS last_post_username
FROM forum_topics TP, forum_posts_text PT, forum_posts PST, forum_users US, forum_posts AS p2
WHERE PT.post_id = TP.topic_first_post_id
AND PST.post_id = TP.topic_first_post_id
AND US.user_id = TP.topic_poster
AND p2.post_id = TP.topic_last_post_id
GROUP BY TP.topic_id
ORDER BY TP.topic_id DESC
LIMIT $nbr";
$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 = "<a href=\"http://www.toutalamaison.com/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>";
// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 200;
if (strlen($post)>$max_caracteres) {
$max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
$post = substr($post, 0, $max_caracteres);
$post .= " (...)";
}
// Traitement des variables alphanumériques des bbcodes
$post = preg_replace("(\[.*\])U","",$post );
// Traitement du nom de l'auteur
if ($db_data['poster_id'] != '-1' ) {
$poster = "<a href=\"".append_sid("$urlPath/forum/member".$db_data['poster_id']).".html\" class=\"nav\" >".$db_data['username']."</a>";
}
else {
$poster = $db_data['post_username'];
}
// Traitement des réponses
$nombre = $db_data['topic_replies'];
$reponses = $lang['Replies'];
if ($nombre == 0) {
$reponses = "";
}
else {
$reponses = "($nombre $reponses)";
}
// Traitement de la date du post
$post_time = gmdate("d M Y \à H:i:s", $db_data['last_post_time']+(3600));
echo "<p align=\"left\">$post_title, <span class=\"Style100\">par $poster, le $post_time $reponses</span><br />
$post</p>";
} |
|
_________________ Forum phpBB3 | mod Rewrite phpBB3 | mod Rewrite phpBB3 |
|
| Revenir en haut de page |
|
 |
KeusssiX PR0

Inscrit le: 27 Oct 2006 Messages: 67 Localisation: Lille, 59 France
|
Posté le: Ven Nov 24, 2006 9:30 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
bah, je suis sous advanced mod rewrite, et ça fonctionne bien. je n'avais pas l'impression d'avoir un duplicate...
va falloir attendre la réponse de DCZ :s |
|
|
| Revenir en haut de page |
|
 |
doudou phpBB SEO Team

Inscrit le: 17 Sep 2006 Messages: 335 Localisation: Dans son Coeur...
|
Posté le: Ven Nov 24, 2006 9:38 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
| KeusssiX a écrit: | bah, je suis sous advanced mod rewrite, et ça fonctionne bien. je n'avais pas l'impression d'avoir un duplicate...
va falloir attendre la réponse de DCZ :s |
Salut, tu ne penses pas qu'avec le Mod Avancé /forum/topicxxx.html ne soit pas un duplicate de /forum/titre-du-topic-vtxx.html? |
_________________ Forum phpBB3 | mod Rewrite phpBB3 | mod Rewrite phpBB3 |
|
| Revenir en haut de page |
|
 |
KeusssiX PR0

Inscrit le: 27 Oct 2006 Messages: 67 Localisation: Lille, 59 France
|
Posté le: Ven Nov 24, 2006 9:49 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
effectivement
en fait j'avais posé la question (tout en haut de cette page), et j'ai zappé.
j'ai bêtement pensé que l'append sid réglai ce problème, alors que ça ne fait que continuer la connexion vers le forum quand les cookies sont interdits (je crois) |
|
|
| Revenir en haut de page |
|
 |
doudou phpBB SEO Team

Inscrit le: 17 Sep 2006 Messages: 335 Localisation: Dans son Coeur...
|
Posté le: Ven Nov 24, 2006 10:15 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
je trouve le script ci dessus impeccable mais apparemment il est fait avec le mod seo simple, alors que j'utilise le mod avancé.
pour moi le but est de mettre les 10 derniers messages avec les jolis liens du mod avancé. |
_________________ Forum phpBB3 | mod Rewrite phpBB3 | mod Rewrite phpBB3 |
|
| Revenir en haut de page |
|
 |
gowap phpBB SEO Team


Inscrit le: 07 Mai 2006 Messages: 1008
|
Posté le: Sam Nov 25, 2006 12:04 am Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Tout est deja la, a portée de main pour avoir un rendu "avancé", vu que le titre du topic est affiché (c'est le texte du lien).
Il suffit de le formater correctement en utilisant la fonction du mod qui "toilette" les urls, en l'occurence format_url() qui est dans includes/functions.php
Donc concretement: en début de script on rajoute un include vers ce fichier includes/functions.php (attention aux chemins relatifs/absolus !)
et ensuite, on remplace
| Code: | // Titre du post
$post_title = "<a href=\"http://www.toutalamaison.com/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>"; |
Par
| Code: | // Titre du post
$post_title = "<a href=\"http://www.toutalamaison.com/forum/" . format_url(stripslashes($db_data['topic_title'])) . '-vt' . $db_data['topic_id'] . ".html\">" . $db_data['topic_title']."</a>"; |
|
_________________ Gravure-News : la communauté francophone de la gravure de CD/DVD et son forum d'entraide. |
|
| Revenir en haut de page |
|
 |
doudou phpBB SEO Team

Inscrit le: 17 Sep 2006 Messages: 335 Localisation: Dans son Coeur...
|
Posté le: Sam Nov 25, 2006 1:23 am Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Donc si je comprends bien on fait ceci:
| Code: | include 'forum/includes/functions.php';
$connection=mysql_connect("xxx","xxx","xxx");
mysql_select_db("xxx");
// Sélection des 5 derniers posts
#exception pour la page d'accueil
$page = $_GET['page'];
if ($page == 'accueil') {
$nbr = 8; }
else {
$nbr = 5; }
$sql = "SELECT TP.topic_id, TP.topic_title, TP.topic_replies, PT.post_text, PST.post_time, PST.poster_id, PST.post_username, US.username, p2.post_time AS last_post_time, p2.post_username AS last_post_username
FROM forum_topics TP, forum_posts_text PT, forum_posts PST, forum_users US, forum_posts AS p2
WHERE PT.post_id = TP.topic_first_post_id
AND PST.post_id = TP.topic_first_post_id
AND US.user_id = TP.topic_poster
AND p2.post_id = TP.topic_last_post_id
GROUP BY TP.topic_id
ORDER BY TP.topic_id DESC
LIMIT $nbr";
$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 = "<a href=\"http://www.toutalamaison.com/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>";
// Extrait du post
$post = $db_data['post_text'];
$max_caracteres = 200;
if (strlen($post)>$max_caracteres) {
$max_caracteres=strrpos(substr($post, 0, $max_caracteres), " ");
$post = substr($post, 0, $max_caracteres);
$post .= " (...)";
}
// Traitement des variables alphanumériques des bbcodes
$post = preg_replace("(\[.*\])U","",$post );
// Traitement du nom de l'auteur
if ($db_data['poster_id'] != '-1' ) {
$poster = "<a href=\"".append_sid("$urlPath/forum/member".$db_data['poster_id']).".html\" class=\"nav\" >".$db_data['username']."</a>";
}
else {
$poster = $db_data['post_username'];
}
// Traitement des réponses
$nombre = $db_data['topic_replies'];
$reponses = $lang['Replies'];
if ($nombre == 0) {
$reponses = "";
}
else {
$reponses = "($nombre $reponses)";
}
// Traitement de la date du post
$post_time = gmdate("d M Y \à H:i:s", $db_data['last_post_time']+(3600));
echo "<p align=\"left\">$post_title, <span class=\"Style100\">par $poster, le $post_time $reponses</span><br />
$post</p>";
} |
et on remplace: | Code: |
// Titre du post
$post_title = "<a href=\"http://www.toutalamaison.com/forum/topic".$db_data['topic_id'].".html\">".$db_data['topic_title']."</a>"; |
Par cela:
| Code: | // Titre du post
$post_title = "<a href=\"http://www.toutalamaison.com/forum/" . format_url(stripslashes($db_data['topic_title'])) . '-vt' . $db_data['topic_id'] . ".html\">" . $db_data['topic_title']."</a>"; |
Est ce que c'est cela ? |
_________________ Forum phpBB3 | mod Rewrite phpBB3 | mod Rewrite phpBB3 |
|
| Revenir en haut de page |
|
 |
dcz Administrateur - Site Admin

Inscrit le: 28 Avr 2006 Messages: 15131
|
|
| Revenir en haut de page |
|
 |
gowap phpBB SEO Team


Inscrit le: 07 Mai 2006 Messages: 1008
|
Posté le: Sam Nov 25, 2006 3:03 pm Sujet du message: Re: Derniers posts ac infos diverses et premiers mots :[u] :-/ ? |
|
|
Pour le include : tout depend ou est stocké le script en question (ce que je ne sais pas). Il faut tout simplement que le chemin vers functions.php (ou sessions.php si on veut utiliser append_sid) soit le bon a partir de l'endroit ou est stocké le script.
| dcz a écrit: | | En fait, pas besoin de construire le lien en détail, append_sid() est là pour ça. Mais encore faut il l'utiliser. |
Tout dépend de ce qu'on veut faire. Pour afficher une liste de topics du forum sur une page du site (visible pour tout le monde, sans gestion de droits ,de sid et des params, etc.) autant aller au plus rapide (surtout que append_sid, contient du code "qui ne sert a rien" dans ce cas la ; oui on parle de microsecondes ) |
_________________ Gravure-News : la communauté francophone de la gravure de CD/DVD et son forum d'entraide. |
|
| Revenir en haut de page |
|
 |
|
|
| Navigation |
Autres sujets de discussion |
|
|
|
|
|
|
|