|
|
| PHP-Nuke France - Communauté Européenne: Forums |
|
|
ATTENTION En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums. Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres. Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille. Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement
| Voir le sujet précédent :: Voir le sujet suivant |
|
|
|
FB

Administrateur

Inscrit le: Dec 27, 2003 Messages: 3376 Localisation: Gradignan (33)
|
Posté le: 24.09.2004, 21:56:56 Sujet du message: [Ok] Nom du forum, du message... en Titre de Page |
|
|
Bonjour,
Je cherche depuis assez longtemps à intégrer dans la balise Title d'une page de mon site le titre (ou au moins l'ID) des posts qui y sont visualisés. Je n'ai jamais réussi. (logique : je ne parvenais pas à transmettre la variable $page_title définie dans l'index.php du forum à la fonction head () de header.php ... puisqu'elle s'exécute avant !)
Il me senblait que c'etait pareil ici et, tout à l'heure, en lisant un post, j'ai vu en haut de mon navigateur un titre du genre :PHPNuke EUROPE #id_post#id_post.
Il est donc possible de transmettre une balise < Title > dynamique depuis une page du forum. Comment ? : J'ai "supprimé" la balise title de header.php ( avec un if ($name !="Forums") {echo "< title > etc... ) et ça fonctionne très bien... (le fichier page_header.php génère une balise title avec le sujet du topic)
MAIS : Ma balise title n'est plus dans le < head > ! (et même bien loin de là en dessous dans le code source de la page). Ma question est donc la suivante : cela pose-t-il un problème pour l'indexation des pages du forum ? (par google etc...)
Merci. _________________ FB33
Respectez la charte - Merci !
Dernière édition par FB le 23.12.2004, 13:38:36; édité 3 fois |
|
 |
|
|
FB

Administrateur

Inscrit le: Dec 27, 2003 Messages: 3376 Localisation: Gradignan (33)
|
Posté le: 24.09.2004, 23:28:25 Sujet du message: |
|
|
... De retour de WebRankInfo : Il semble que ce ne soit pas bon d'avoir sa balise title hors du head !
Alors, si quelqu'un a une meilleure idée : Merci beaucoup !
 _________________ FB33
Respectez la charte - Merci ! |
|
 |
|
|
ckforum

Habitué

Inscrit le: Jan 06, 2004 Messages: 1653 Localisation: FRANCE
|
Posté le: 25.09.2004, 06:15:20 Sujet du message: |
|
|
SAlut FB,
Bon sans avoir testé dans tout les sens, voilà j'te file un p'tit bout de code que tu mettras à ta sauce ...
Dans le fichier header.php de la root tu cherches :
| Code: |
echo "<title>$sitename $pagetitle</title>\n";
|
Que tu remplaces par :
| Code: |
// -------------------------------------------------------
// petit bout de code pour titre post forum dans tire page
// titre visible si posté ou déjà posté
// -------------------------------------------------------
global $name, $HTTP_GET_VARS,$db;
// si on est dans forums
if ($name=='Forums') {
foreach ($HTTP_GET_VARS as $key =>$v1) {
// si il y a viewtopic dans les valeur de l'array $HTTP_GET_VARS
if (in_array('viewtopic',$HTTP_GET_VARS)) {
// si les Key du tableau sont soit t(view) ou p(view suite post!)
if ($key=='t' or $key=='p') {
// alors val de l'un ou l'autre (pour récup id pour la
// requete ci-dessous
$myvalhead = $v1;
}
}
}
// si myvalhead ok et si on est dans forums (pour eviter la requete ailleurs)
if ($myvalhead && $name=='Forums') {
$result = $db->sql_query("select post_id, post_subject from nuke_bbposts_text where post_id=$myvalhead");
list($p_id,$sujet) = $db->sql_fetchrow($result);
// var a mettre dans le titre su site
$sujet= "<<< ($p_id) $sujet >>>";
}
} // fin if forums
echo "<title>$sitename $pagetitle $sujet</title>\n";
|
Voilà avec Ce code tu auras l'id + le titre du post qui s'affichera dans le titre de la page (balise title) uniquement dans le mod Forums et sans avoir a toucher le reste (pratique car ok dans tout les themes ...
J'ai essayé de commenté un peu ...
Désolé si je suis passé à côté de ce que tu voulais mais il est tard et je suis un peu dans le gaz  _________________ Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....) |
|
 |
|
|
FB

Administrateur

Inscrit le: Dec 27, 2003 Messages: 3376 Localisation: Gradignan (33)
|
Posté le: 25.09.2004, 10:36:48 Sujet du message: |
|
|
Salut Ck et merci beaucoup !
En attendant une réponse, j'ai pensé a utiliser $_GET et codé ceci, qui marche très bien :
1) Ajouter $prefix, $db à la fin de la ligne global située au début de header.php ( tout début de la fonction head() ) qui devient :
| Code: | | global $slogan, $sitename, $banners, $nukeurl, $Version_Num, $artpage, $topic, $hlpfile, $user, $hr, $theme, $cookie, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2, $forumpage, $adminpage, $userpage, $pagetitle, $page_title, $name, $prefix, $db; |
2) Remplacer la ligne :
| Code: | | echo "<title>$sitename $pagetitle</title>\n"; |
Par :
| Code: | /***** TITRE PAGE (Ajout FB) *****/
if ($name =="Forums") {
if ($_GET['file'] =="viewforum"){
$forumid = $_GET['f'];
$row = $db->sql_fetchrow($db->sql_query("SELECT forum_name FROM ".$prefix."_bbforums WHERE forum_id='$forumid'"));
$forum = $row['forum_name'];
echo "<title>Forum $sitename : $forum </title>\n";}
if ($_GET['file'] =="viewtopic"){
$topicid = $_GET['t'];
$row = $db->sql_fetchrow($db->sql_query("SELECT topic_title FROM ".$prefix."_bbtopics WHERE topic_id='$topicid'"));
$topic = $row['topic_title'];
echo "<title>Forum $sitename : $topic </title>\n";}
if ($_GET['file'] =="search"){echo "<title>Forum $sitename : Recherche </title>\n";}
if ($_GET['file'] =="faq"){echo "<title>Forum $sitename : FAQ du Forum </title>\n";}
if (($_GET['file'] =="index") OR ($_GET['file'] =="")){echo "<title>Forum $sitename : Accueil </title>\n";}
else {echo "<title>Forum $sitename</title>\n";}
} else {echo "<title>$sitename $pagetitle</title>\n";} // si pas forum
/***** /FIN TITRE PAGE/ *****/ |
Qu'en penses-tu ? (code de petit amateur, je suppose... en plus, çà m'a coûté du sommeil !)
J'ai un autre problème : Le forum génère ses propres balises (doctype, head, title ...) qui se trouvent donc en milieu de la page html envoyée par le serveur pour toute page concernant le forum : COMMENT DESACTIVER L'EDITION DE CES LIGNES (-> < title > $sitename :: $page_title...) car il parait que ce n'est pas bon du tout. J'ai cherché dans tout le module forum mais...
MERCI. _________________ FB33
Respectez la charte - Merci !
Dernière édition par FB le 25.09.2004, 12:21:01; édité 1 fois |
|
 |
|
|
FB

Administrateur

Inscrit le: Dec 27, 2003 Messages: 3376 Localisation: Gradignan (33)
|
Posté le: 25.09.2004, 12:15:16 Sujet du message: |
|
|
Bon...
C'est dans le thème. Ce qui suit est peut-être à adapter (exemple avec Cooldsteel) quique les deux fichiers en question doivent exister dans tout les thèmes puisqu'ils sont indispensable pour un phpBB en standalone.
Ces lignes sont dans themes/nom_theme/forums, il s'agit de overall_header.tpl et overall_footer.tpl.
1) Dans ce dernier, enlever les deux dernières lignes :
2) dans overall_header.tpl, enlever le début du fichier, à savoir :
| Code: | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 ... jusquà
... <title>{SITENAME} :: {PAGE_TITLE}</title> |
Voilà de quoi avoir des pages conformes, sur ce point, avec le W3C
@+ _________________ FB33
Respectez la charte - Merci ! |
|
 |
|
|
|
|
|
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pas joindre des fichiers dans ce forum Vous pouvez télécharger des fichiers dans ce forum
|
| :: Powered by phpBB © 2001, 2005 phpBB Group :: |
|
|
|
|