Bonjour à tous, et merci à Grafikart pour ses supers tuto! J'apprends beaucoup même si le MVC et l'Objet me font encore bien mal au crâne ;)

Je fais appelle à vous tous parce que je suis en train de concevoir un site perso. A la racine de ce site j'ai mes pages principales ainsi que les dossiers BACKOFFICE, CONN, CSS, IMAGES, JS et INCLUSIONS. Dans Inclusions, j'ai mis mes Entete.php, Menu_nav.php et Footer.php. C'est fichiers sont appelés par mes pages principales. Jusque la pas de soucis avec les includes de ce niveau.

Par contre je veux créer un backoffice. Donc un nouveau sous répertoire de ma racine. Et quand je fais là aussi mes includes par rapport à mes 3 fichiers d'inclusions, mon style.css et mes images,... ca ne marche pas. Je suis un répertoire trop bas, et il ne trouve, ni le CSS, ni les IMAGES, et les liens sont faux. Il ne recherche que dans mon répertoire backoffice. Pire encore cote Menu_nav.php, comme je ne veux en créer qu'un seul mes liens ne s'adaptent pas aux deux cas.

Existe t il une solution pour utiliser en départ de tous mes chemins le répertoire de base du site ? (j'ai bien tenté de faire un define ('WEBROOT', dirname('index.php')). Index.php étant à ma racine. Cela ne devrait plus changer et m'aider... Mais qd je passe au niveau -1 mon menu est toujours faux. Il faudrait que je trouve une conditionnelle pour reecrire mes includes du menu, de l'entete etc en fonction du niveau du repertoire contenant la page appelante, mais je tourne en rond. Auriez-vous une idee svp?

Quant à la réécriture d'url, je m'y perds encore et je ne suis pas certain d'arriver à l’implémenter dans mon menu.

Merci à tous d'avoir lu jusque ici. ;)

J'oublie surement des informations, alors n'hésiter pas à me demander.

A bientôt.

HomeSoftware

Petit schema, ce sera plus simple.

---WWW
L--BACKOFFICE
L------PAGES
L--- page1.php
page2.php etc...
L
L
L--CONN (repertoire de connection à la bdd)
L---Conn.php
Deconn.php
L
L--CSS
L---Style.css
L
L--IMAGES
L---Logo.jpg
L
L--JS (répertoire pour javascript pour plustard)

L
L--INCLUSIONS
L--- Entete.php
Menu_nav.php
Footer.php

L--- (pages à la racine du site dans WWW): index.php
Login.php
Logout.php
Accueil.php
etc...

P.S: je pourrais remettre dans BACKOFFICE les repertoires CSS, IMAGES, INCLUSIONS etc... et y mettre une copie des pages necessaires recodées mais intellectuellement je trouve ca pas beau. Il y a surement un moyen d'adapter le code en fonction de la position de la page appelante dans mon arbre et d'adapter les includes sans surcharger le site en repertoire, sous repertoire et recopies de pages. non ?

4 réponses


Désolé, je comprends mal ton schéma. Cependant, pour remonter d'un niveau, il suffit de mettre

../

pour remonter dans le dossier supérieur, et rajouter à nouveau ce code pour remonter d'un niveau encore plus supérieur.

Par exemple, si tu as cette structure:

/
    dossier1
        image1.jpg
    dossier 2
        fichier2.php

Si tu es dans le fichier2.php, et que tu souhaite afficher l'image "image1.jpg" qui se trouve à un niveau plus haut, puis dans ce dossier, il faut faire:

scr="../dossier1/image1.jpg"

==> Ainsi, tu es dans le dossier2, tu remontes de 1 niveau pour être dans le dossier1, et tu redescends pour être dans dossier1.

J'espère que ça t'aidera, sinon n'hésite pas, j'essayerai de mieux comprendre ce que tu cherches.

Bonjour Arrows78, merci pour ta réponse.

En fait, ce que tu m'expliques je le savais déjà ;). Disons que manuellement je suis capable de corriger chaque liens du menu pour remonter d'un deux ou trois niveaux. Mais ce qui m'interesserais de faire c'est d'utiliser un seul menu pour les deux cas: cas 1/ inclusion dans les fichiers à la racince du site et sans rien modifier manuellement, aussi pour le cas 2 qui est l'inclusion du meme menu dans les fichiers de backoffice.

je ne sais pas comment poster le code source. :'(

Tu postes le code en le mettant entre des balises code ] /code ]

Mais le mieux, c'est de séparer le Back Office totalement du Front Office.

D accord Arrow. Merci. Je suis sur mon tel pour l instant. Je posterai mon code comme tu me l as indiqué. Et je vais essayer de mieux t expliquer tout ca. ;). En attendant je note que c est mieux de séparer backoffice et front office meme si ça fait des fichiers dupliqués.

A toute et merci