| | jjal | Posté le 21/12/2006 @ 21:30 | Petit astucien
330 Messages
| Bonjour, (J’utilise easy.php 1.8.)J’ai à peu près que ce que veux, alors pour éviter d’avoir à retoucher plein de pages plus tard.… J’essaie un « menu.html », un « page de pied_de_page.html » qui sont appelés à chaque fois par toutes mes pages qui ne contiennent plus qu’un div id « corps » et la fonction include.Si tout est dans le même dossier ça fonctionne. Mais, il va me falloir des répertoires pour que ce soit propre à l’usage. Je teste :Si je mets une page archive.php, par exemple, dans un dossier archive, je suis perdu avec les chemins relatifs pour appeler dans les dossiers parent et style css. Ma page menu demande une page .css dans un dossier style. <link rel="stylesheet" media="screen" type="text/css" title="Design" href="styles/style.css" …Plus loin <li><a href="archives/archive.php">Archives 2005</a></li>ouvre la page archive qui appelle à son tour menu.html <?php include"../menu.html";?> et j’ai tout, le menu, le pied, le « corps » mais pas le « design » (ni mes images of course, dans un dossier images)(Qui normalement devrait être appelé par menu ?) Là est là question ! en code source je me retrouve avec /styles/style.css et donc pas bon par rapport à ma page archive , je devrais avoir ../styles/style.css Je mets <link rel ../styles/style.css »… dans la page archive… c’est bon, mais si j’affiche le code source généré, j’ai « deux » fois ce lien vers le css. (et plus dans les head !)Tout repenser ? Des pistes ? (j’ai parcouru google pourtant !)Merci
| | |
| |
| Publicité |
|
| | lebendre | Posté le 21/12/2006 à 22:45 | Petit astucien
154 Messages
| avant de tout repenser, essaie de mettre un chemin absolu pour le css, et non relatif comme tu l'as fait, c'est à dire dans ton "head" tu mets > où /styles/style.css désigne le chemin vers la feuille de style depuis la racine (c'est pour ça qu'il y a "/" devant!) p.s. sinon, tu peux repenser ton site "à l'envers" en faisant une page "index.php" à la racine, qui contient: - en-tête
- menu
- include(pagexxxxx)
- pied de page
c'est à dire au lieu d'inclure à chaque fois le menu et le pied de page, tu inclus la page elle-même dans un fichier index.php! Modifié par lebendre le 21/12/2006 22:48 | | | | | jjal | Posté le 21/12/2006 à 23:20 | Petit astucien
330 Messages
| Merci pour ta réponse. /styles/style.css ne va pas car dans mon menu html, la feuille de style doit être appelée par rapport à cette page . Non ? Bien sûr, je débute !
Ta seconde solution est possible mais là je ne gagne rien car à chaque fois que le site va s'étoffer (site d'école - 11 classes ) il va falloir que je modifie mon menu dans toutes les pages. C'est pour cela que j'optais pour cette solution ("brutale" site du zero) : modification d'un seul menu ou d'un corps de page. La solution, me passer des répertoires, mais ça va être galère aussi. Je ne comprends pas bien pourquoi les pages générées ne prennent pas en compte ce link..... vers les css alors que si j'affiche le code de la page, tout y est, j'ai ma page d'origine avant que j'essaie include. Bonne soirée. | | | | | lebendre | Posté le 22/12/2006 à 10:49 | Petit astucien
154 Messages
| mais si tu fais /styles/style.css, il ne cherche plus le fichier css de façon relative, c'est à dire depuis le fichier html qui l'appelle, mais de façon absolue, c'est à dire (dans ce cas) depuis la racine, quel que soit l'emplacement du fichier html (ou php ou...). Ma deuxième solution te permettait aussi de n'avoir qu'un seul menu, dans le fichier index.php par exemple. Je te rexplique la structure de index.php placé à la racine de ton site: <html> <head> <link> (pour ta feuille de style, ...) <meta> </head> <body> <div id="menu>ici ton menu</div> <?php include(page.html); ?> <!-- cette ligne te permet d'inclure n'importe quelle page --> <div id="pied">ici ton pied de page</div> </body> </html> Ainsi, tout ton site aura le même menu et pied de page (et feuille de style, etc.) et faudra juste "dire" à index.php quelle page inclure (avec $_GET par exemple, en faisant attention à la sécurité) | | | | | koala01 | Posté le 22/12/2006 à 11:42 | Astucien
4715 Messages
| Salut, le chemin relatif que tu places dans tes include doit être... relatif à la page qui inclus les fichiers... Mais cela nécessite de penser correctement à l'arborescence à créer. Je m'expliques: le plus facile est une arborescence du genre de racine |---image | |---imgage.gif | |---img2.gif | |---dossier1 | |---index.php | |---page1-1.php | |---dossier2 | |---index.php | |---page2-1.php | |---archive | |-archive1.zip | |---archive2.zip | |---include | |---tete.php | |---gauche.php | |---pied.php Les pages seront donc affichées graces aux url respectives de http://toi.hebergeur.com/dossier1/index.php http://toi.hebergeur.com/dossierpage1-1.php http://toi.hebergeur.com/dossier2/index.php et http://toi.hebergeur.com/dossier2/page2-1.php De cette manière, vu que le chemin relatif entre l'une de tes pages et les images sera toujour du genre de ../image/(...), le chemin relatif pour les page pourra toujours être du genre de ../dossier/(...) (cela ne pose aucun problème de "remonter d'un cran dans l'arborescence" et de retourner dans le dossier qu'on vient de créer [clindoeil]), et le chemin pour accéder aux archives du genre de ../archive/(...)... Une autre solution, ce sera de se baser sur la variable globale $_SERVER['PHP_SELF'] qui contient l'url absolue de la page vue (ex: http://tonsite.com/dossier/sousdossier/page.php) Tu peux alors, en combinant les diférentes fonctions de manipulation des chaines, savoir dans quel niveau de l'arborescence tu te trouve, et donc, pouvoir déterminer le nombre de fois que tu "dois remonter d'un cran" pour retourner à la racine. | | | | | jjal | Posté le 22/12/2006 à 12:45 | Petit astucien
330 Messages
| Merci, je vais voir cela. | | | | | Malcolm | Posté le 22/12/2006 à 16:26 | Astucien
7404 Messages
| | | | | | jjal | Posté le 22/12/2006 à 22:27 | Petit astucien
330 Messages
| Merci à vous tous. Koala01      ça roule. Je prends ton arborescence. Y’a pas, n’êtes pas que des astuciens, vous êtes aussi des astucieux. Bonne soirée. Modifié par jjal le 22/12/2006 23:17 | | | |
| | Haut de la page |
| | Inscrivez-vous ! |
- Posez vos questions
- Résolvez vos problèmes
- Aidez les autres
- Participez et créez vos discussions
- Dialoguez en privé avec d'autres membres
- Suivez vos sujets préférés
- Affichez les signatures des membres
|
|