Wikini

EnteteGroupePages

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-3-142-196-27.us-east-2.compute.amazonaws.com

Gestion d'une Entete par Groupe de Pages par GouBs


L'idée de départ


Je pense qu'il serait assez facile de gérer des entetes et/ou pied de page pour les pages wikini. Cela permettrait différentes fonctions comme avoir des informations générales à un ensemble de pages, faire un mini menu pour un groupe de pages,...
La méthode que je propose est assez simple. Pour le groupe de pages considéré on utiliserait des définitions de mots Wiki comme AmeliorationIntroduction, AmeliorationObjet, AmeliorationDescription, AmeliorationConclusion. Le nom de la page définissant l'entête serait de la forme AmeliorationEntetePage (idem pour le pied de page). Jusque la pas de modification dans le code.
La seule modification à mettre en place serait de tester au moment du chargemment de la page s'il existe une page d'entete associée (Premier mot du nom de la page + EntetePage). Si oui il suffit alors de mettre une action include au debut du contenu de la page. Il faudra aussi faire attention de ne pas sauvegarder cette include dans le contenu de la page.

Cette fonction ne necessite pas une grosse modification du code et surtout elle ne complique pas l'utilisation de Wikini. Seulement une regle de syntaxe à connaitre (et qui ne nuit en rien si on ne la connait pas). Je pense qu'elle peut apporter une meilleur structuration des pages.

Nota : c'était l'idée de départ mais un peu de réflexion a permis de simplifier la mise en oeuvre. Entete_EntetePage


Description


Le but de ce développement est de pouvoir associer une entête à un groupe de pages.

Comme un exemple est toujours plus parlant on va considérer un projet "Festival". Les pages correspondant à ce projet pourraient s'appeler "Festival Objectif", "Festival Contenu", "Festival Resultat", ... La page d'entête s'appelerait "FestivalPageEntete".

La page d'entête permet de regrouper un ensemble d'informations communes aux différentes pages du projet. Ce peut être par exemple un menu de navigation à l'intérieur des différents éléments du projet.

Nota : cette page est construite suivant cette méthode. Le nom du projet est "Entete", la page de menu est "EnteteEntetePage" et il y a des pages comme "Entete Description", "Entete Code", ect...

Tout ce qui est valable pour l'entête peut aussi être appliqué comme Pied de Page en utilisant la dénomination "PiedPage"

La démo est Ici

La méthode

La méthode retenue à l'avantage de la simplicité.

Il y avait plusieurs possibilités pour faire cette implémentation. Je pense avoir retenu une des plus simples. Ecrire une fonction qui construise le nom de la page d' entête pour une page demandée, vérifie si cette page existe et retourne le contenu de la page formattée. Il suffit ensuite d'afficher ce contenu avant le "body" de la page elle même dans le handlers d'affichage (show.php).

Dans le cas du moteur wikini que j'utilise et que j'ai modifié pour optimiser le traitement des requetes SQL, je dois aussi prendre en compte la gestion du contenu de la page. Je rajoute le contenu de la page d'entête à la fonction qui test la définition ou pas des mots Wiki. Cela est fait dans la fonction "Ctrl_Mot_Wiki_Defini" que j'ai rajoutée à la class Wiki lors de la modification concernant les optimisation de requetes SQL. voir Requetes_SQL.

J'ai rajouté le même type de traitement pour le pied de page. J'ai aussi fait évoluer la notion Entete et Pied de page en y introduisant une notion de niveau de regroupement. L'exemple ci dessous illustrera mieux qu'un long discours :




Le Codage


la premiere version du code à permis de tester le principe. Les version suivantes sont des améliorations de la version de base.


Les commentaires sur ce projet





Les évolutions



Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]