Bonjour, j'ai regardé la vidéo sur l'Intégration d'un Dashboard. Etant dans la réalisation de l'interface d'administration d'un forum j'aimerais savoir une chose.
Comment gérer l'affichage du "content", ce qu'on peut apercevoir dans la vidéo comme le formulaire d'ajout d'un utilisateur ainsi que l'affichage des derniers utilisateurs inscrit.
Comme le site d'administration possède plusieurs pages/onglets, il faut bien afficher le contenu en conséquence. J'aimerais donc savoir la méthode requise pour cela.
A l'heure actuelle, ce que j'ai fait et je ne sais pas si c'est une bonne manière, c'est que j'ai créé deux fichiers php, un contenant le header et le menu de navigation, et un autre contenant le footer. Ensuite sur mes pages de gestion, par exemple des droits ou encore des catégories, au début du fichier j'importe le fichier contenant le header et le nav et à la fin j'importe le fichier contenant le footer.
J'avais pensé aussi un changement du contenu par ajax mais cela risque d'être lourd à mettre en place, à gérer tout les liens, non ?

Merci de vos réponses !

13 réponses


Bonjour,

Pour la question de l'ajax ou non ? ce n'est pas forcement plus long:

<?php require "fichier.php"; ?>

ou

<script>
$.get('fichier.php,function(data){
    $('#main').html(data);around}
</script>

Pour la gestion des header et footer, il y a deux solutions. Je les faits sans ajax:

1/ Un fichier index.php qui appellera ton header et le footer et inclura en fonction d'un GET avec la fonction switch.
2/Appeler directement le fichier qui a chaque fois ton header et ton footer entourant ton contenu.

Voila, j'espere avoir pu t'aider et surtout répondre à tes questions.

PS : Je teste pour la première fois le forum, j'espere que j'utilise bien la balise code !

Ok merci ! Par contre le problème avec le chargement ajax c'est qu'un rafraîchissement de la page et on revient au contenu de base.

Pourquoi raffraichir la page, il faut concevoir tes formulaires et tes actions en Ajax pour que l'action se fasse sans raffraichissement.

Par exemple, sans ajax, quand tu recuperer un POST (formulaire) tu traites et apres au rechargement de page ça prend les modifications.

Il suffit de recuperer tes donnees avec un traitement ajax et il faut prevoir le retour en direct sur ta page avec une maj du DOM.

Je ne sais pas si je suis clair ?!

Si, je comprend et je sais mettre en place cela, c'est juste que pour une administration j'hésitais à mettre en place de l'ajax. Ce que je me demandais c'est de savoir si c'est pas génant qu'un F5 fasse revenir sur la page de base !

La page de base devra etre généré de la même manière que tes modifications.
Par exemple, si tu as un tableau avec un formulaire d'ajout, il faudra faire la maj en base de données (ou autre moyens de stockage) et reinitialiser le formulaire. Eventuellement les choses que l'utilisateur peut perdre sur le coup serait des notifications d'erreur, et encore tu devrais les prevoir en sessions. Donc il faut consevoir tes maj ajax de la meme manière qu'est construit ton application au chargement.

Ok merci ! Par contre réaliser tout en ajax nécessite de revoir le code concernant les évènements !

Lors d'un tuto sur lajax je crois grafikart met en oeuvre une condition pour savoir si levenement est en ajax ou non. Linconveniant de l'ajax est qu'il faut pour leffet introduire une grosse dose de js (jquery est pratique) pour faire la meme chose qu'en synchronisé.

Oui. Par contre je viens de me rendre compte d'un inconvénient. Avec tout en ajax, il faut charger tout les fichiers js au début. Pas possible de charger un fichier js lié à une page spécifique lorsqu'on appelle cette page spécifique. Du moins c'est possible mais à chaque fois qu'elle est appelé il recharge le fichier. Va falloir que je jongle avec mes ids pour les formulaires de modification et d'ajout !

Je ne suis pas sure de comprendre ta remarque, tes fichiers peuvent etre inclus de la manière dont tu le souhaite. Mois quand j'ai un js ultra spécifique à une partie je la charge à la fin du fichier en question du genre :

<form action="" method="post" id="monId">
...
</form>
<script>
$('#monId').submit(function(){
    // ...
}
</script>

Apres tu peux uniformiser ton traitement de formulaire en ajax avec une fonction que tu charges au debut avec un function on sur le document.

Oui pour inclure le fichier, je connais. Mais mettre cela sur la page appelé en ajax va faire qu'a chaque fois qu'elle est chargé le js sera chargé. En conséquence un événement se répétera autant de fois que le js a été chargé.

Non car en principe comme c'est toujours la meme div qui est réécris, elle se remplace a chaque fois

Bizarre alors ! Je vais tester cela de manière plus approfondi.