Rechercher : dans
Par :

Problème de liens pour les pages

Dernière réponse le 22 jun 2006 à 18:50:45 maxime_B, le 17 jun 2006 à 21:03:38 
 Signaler ce message aux modérateurs

Bonjour,
je suis en train d'essayer de créer un site web,mais j'ai quelques problèmes avec les liens du menu(qui s'applique partout, car c'est un include).
Il y a tous mes fichiers et avec ça il y a des sous-dossiers. Le problème est que, comme le menu est le même partout, les liens ne sont pas bons. Comment je pourrais arranger ça?
Merci pour votre (future) aide...

Meilleures réponses pour « problème de liens pour les pages » dans :
ThunderBird - Ouvrir les liens HTTP dans Firefox VoirThunderbird sous Windows Thunderbird sous GNU/Linux Remarques communes à Windows et GNU/Linux Rien de plus agaçant que de devoir copier / coller des liens HTTP depuis un courriel pour pouvoir les voir correctement ! Rien de plus...
Les liens hypertextes VoirPrésentation des ancrages Les liens hypertextes (ancrages) sont des éléments d'une page HTML (soulignés lorsqu'il s'agit de texte) permettant aux internautes de naviguer vers une nouvelle adresse lorsque l'on clique dessus. Ce sont les liens...
Faire un lien vers CommentCaMarche VoirVous êtes le bienvenu pour faire un lien vers CommentCaMarche.net ! Vous avez l'autorisation de faire pointer un lien vers la page d'accueil de CommentCaMarche.net ou bien directement vers un des articles. Si vous voulez agrémenter le lien d'une...

1

maxime_B, le 17 jun 2006 à 23:47:51

...

Répondre à maxime_B

2

crabs, le 17 jun 2006 à 23:54:07

Salut,

Si tu fais du PHP :
Un principe que j'ai mis en place sur mon site, avec plusieurs niveau de dossier
et le meme haut de page, bas de page et menu quelque soit le dossier.
Initialement j'avais un fichier menu qui ne contenait que du html. Je l'ai écrit
en php en utilsant la syntaxe heredoc et j'ai préfixé tout mes liens de menu
avec une variable RACINE. Chaque lien est ainsi ecrit en relative depuis cette
racine.
Chaque script defini la possition de la racine du site avant d'inclure le menu.
Cette variable sert par ailleurs à retrouver la loclisation du fichier menu.
Allez un petit exemple : le fichier menu.php qui est dans le dossier LIB à la
racine du site (menu horizontal):

<?php
echo <<<MENU
  <div class="menu_principal">
    <a href="$RACINE/index.php">Accueil</a>
    <a href="$RACINE/TEA/">Truc &amp; Astuces</a>
    <a href="$RACINE/FORUM">Forum</a>
  </div>
MENU;

Dans le fichier index.php à la racine du site :
$RACINE="." ;
// au moment de l'affichage du MENU
include( $RACINE."/LIB/menu.php" ) ;

Et par exemple dans le dossier TEA/LINUX :
$RACINE = "../.." ;
// au moment de l'affichage du MENU
include( $RACINE."/LIB/menu.php" ) ;

L'avantage de la variable $RACINE, c'est qu'elle peut aussi servir lors
de l'écriture des url des images ou tout autre ressources nécessitant une
url relative.

Tu peux aussi utiliser les liens absolu dans les urls de tes menus, mais
c'est la galère pour passer du site en test au site publié : il faut modifier le
fichier menu.php.

Un lien pour le heredoc :
http://www.manuelphp.com/php/language.types.string.syntax.heredoc.php
A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

3

maxime_B, le 18 jun 2006 à 00:01:57

Merci je vais y jeter un coup d'oeil... ;)

Répondre à maxime_B

4

maxime_B, le 20 jun 2006 à 13:29:28

Euh je vois ce que tu vx dire mais je n'y arrive pas....:(
pourtant j'ai fait comme tu as dit, enfin je crois...

Répondre à maxime_B

5

maxime_B, le 20 jun 2006 à 21:18:09

Je vais encore essayer ce soir...

Répondre à maxime_B

6

maxime_B, le 20 jun 2006 à 21:34:12

C peut-être une question idiote..mais comment tu connais:

$RACINE = "../.." ;

si tu savais me dire qund il faut mettre "." ../..", etc et à quoi ça revient stp
par exemple pr un dossier "admin" ou se trouverait la page "administration.php"

.....

Répondre à maxime_B

7

crabs, le 20 jun 2006 à 22:23:17

Salut,
La valeur de racine est déterminée par le position du script par rapport au
dossier racine de ton site, le nombre de dossier "à remonter" pour arriver
à la racine.

www.toto.com/index.php
       +------- TOTO (dossier)
                         +----- toto.php
                         +----- titi.php
                         +IMAGES (dossier)
                                    +----- photo.php

Pour le fichier index.php : RACINE='.' => 0 dossier à remonter
pour toto.php et titi.php : RACINE= '..' => 1 dossier à remonter
pour photo.php : RACINE="../.." => 2 dossier à remonter
Donc l'écriture des tes liens (forme relative) dans ton menu.php deviendrait :
<a href="$RACINE/index.php">Accueil</a>
<a href="$RACINE/TOTO/toto.php">Toto</a>
<a href="$RACINE/TOTO/titi.php">Titi</a>
<a href="$RACINE/TOTO/IMAGES/photo.php">Photo</a>

Et cela quelque soit le dossier où est situé menu, puisque tu fais un
include.

A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

8

maxime_B, le 21 jun 2006 à 13:34:20

Ok merci, je crois avoir comprit..mais j'ai une dernière petite question...
Quand on fait un include avec une page genre peid de page:

<div id="pied_de_page">
<p>Copyright crée X 2006, tous droits réservés</p>
</div>

</body>

</html>

comment je dois insérer la $RACINE, car ici, il n'y a pas vraiment de lien...??
j'ai réussi avec la bannière, mais là dedans, il y avait un lien (celui qui met le css)..

Répondre à maxime_B

9

crabs, le 21 jun 2006 à 16:59:00

Salut,
Imaginons que tu ais mis tes entêtes , tes pieds de page et ton menu dans
le dossier COMMUN à la racine de ton site.
Tous les scripts définissent $RACINE avant l'inclusion du menu avec la
fonction php include.

include( $RACINE.'/COMMUN/menu.php' );

Même idée pour l'inclusion du pied, tu ajoutes l'intruction suivante là où tu
veux que ton pied de page s'affiche :
include( $RACINE.'/COMMUN/pied.html' );

A+, crabs ..., I think Slackware sounds better than 'Microsoft,'
-- Patrick Volkerding - founder and maintainer of Slackware

Répondre à crabs

10

 maxime_B, le 22 jun 2006 à 18:50:45

Ah ok maintenant j'aicomprit
à la prochaine
+
;)

Répondre à maxime_B