ModeliXe - la solution template !
ModeliXe, la solution template !

La Foire Aux Questions
Quelles librairies doivent être installées sur le serveur Apache pour que ModeliXe puisse fonctionner ?

ModeliXe utilise les expressions régulières compatibles perl, elles sont normalement présentes et activées sur tout les serveurs à partir de PHP3.
Pour vérifier si vous les avez à votre disposition, lancez un phpinfo() dans la page.

ModeliXe est il open-source ?

Oui, ModeliXe est placé sous licence LGPL. Et par ailleurs il est également gratuit :o) Si vous désirez vous joindre au développement de ModeliXe ou nous faire part d'améliorations à effectuer, veuillez prendre contact avec nous, ou rejoindre le projet ModeliXe sur SourceForge.

Puis je modifier les sources de ModeliXe ?

Bien sur ! Et ce serait même sympa de nous en faire part !
C'est aussi pour profiter de la communauté de développeurs que ModeliXe est OpenSource.
Mais si vous le faites, vous devez conserver les informations de licence originale de ModeliXe, ainsi que le nom de l'auteur, l'historique et y ajouter vos propres améliorations datées, ainsi que votre nom, et éventuellement une adresse email où vous contacter.

Je rencontre un problème particulier, qui n'est pas traité dans la FAQ, que dois je faire ?

Déposez un message sur le forum prévu à cet effet en précisant votre configuration (OS, version d'Apache et de PHP, éventuellement une copie du PHP.ini, version de ModeliXe testée), le code source qui vous pose problème (template et script PHP), et la question qui s'y référe.
Sans ces précisions je ne pourrai pas toujours vous aidez dans les meilleurs délais.

PHP me fait une drôle d'erreur du type "Warning: Unknown modifier '?' in ModeliXe.php on line XXX".

Cette erreur a été corrigé depuis la version 5.2, elle affectait les programmes qui tournaient sur des versions de PHP antérieures à la PHP 4.0.4. Quoiqu'il en soit, si vous re-rencontrez cette erreur, faites moi parvenir votre version de PHP, celle de votre OS, et celle de votre serveur Apache.

Je ne vois pas l'intérêt de la méthode MxUrl() puisque dans le template on crée un mXattribut.

La méthode MxUrl formate un attribut en URL, ce que ne fait pas la méthode MxAttribut. De plus si vous gérez des paramètres de session MxUrl les intégre directement...
Les url sont des attributs particuliers qui sont gérés de manière particulière, c'est uniquement leur qualité d'attribut HTML qui leur doit d'être baliser en tant que mXattribut. La clé 'href' ou 'url' (les deux sont utilisables) est là justement pour signaler que cet attribut aura un traitement spécifique.

Comment gérer des profils utilisateurs sous ModeliXe en utilisant le cache ?

Si aucune information n'est retirée du SID pour construire la page, il n'y a aucun problème.
Si effectivement la page est construite à partir d'informations extraites du SID, je vous conseille alors de ne pas spécifier pour cette page le SID en tant que paramètre de sessions (n'oubliez pas alors de le préciser lors de la construction des hidden et des urls), et de mettre une valeur de cache plus faible (la probabilité que la personne revienne sur cette page existe, mais elle seule pourra profiter du cache, donc ce n'est pas la peine de la stocker trop longtemps).

Le cache permet d'optimiser l'accès à des pages génériques, dans le cas d'un utilisateur identifié qui aurait accès à des pages spécifiques à son profil le cache ne sert plus à grand chose. Si ces pages spécifiques dépendent par contre de quelques paramètres que vous pouvez extraire et spécifier dans les urls, alors le problème est différent et vous pouvez très bien mettre en place un cache. Deux personnes avec un profil similaire accéderont à la même page mise en cache. Assurez vous seulement que le nombre de paramètres personnalisant la page est suffisamment petit pour qu'il y ait une probabilité non négligeable pour que plusieurs personnes partagent les mêmes.

Comment faire pour sortir d'un bloc une fois qu'on y est entré avec WithMxPath ?

Pour sortir d'un bloc dans lequel on est entré avec WithMxPath il existe deux solutions :

  • $modelixe -> WithMxPath("") -> retour à la racine absolue.
  • $modelixe -> WithMxPath("../sousBloc"); -> retour au bloc "sousBloc" inférieur (ou qu'il soit en dessous du bloc en cours).

Comment gérer les URLs ?

ModeliXe propose une méthode pour formater des url en intégrant directement et automatiquement les paramètres de sessions, cette méthode est MxUrl.
. Cette méthode s'applique à tout les attributs dynamiques déclarés dans une balise MxAttribut. Elle est la seule méthode qui puisse gérer l'attribut dynamique "url". Consulter la documentation pour plus de précisions à ce sujet.

Comment faire pour enregistrer sur le disque le fichier généré par ModeliXe ?

A l'appel de MxWrite() donner l'argument "out", la méthode vous renverra alors le fichier généré sans réaliser de sortie client. Il vous suffit alors d'enregistrer cette sortie sur un fichier ce qui donne:

                <?php
                    //....
                    $content = $maPage -> MxWrite("out");
                    $fil = fopen("monFichier.html", "a");
                    fputs($fil, $content);
                    fclose($fil);
                ?>
            
Et vos données sont enregistrées et visibles sur le fichier "monFichier.html".

Comment gérer les attributs des balises de formulaires avec ModeliXe ?

Les remarques que je vais faire là, sont valables quelque soit les balises considérées.
Avec ModeliXe vous avez deux manière de renseigner les attributs HTML d'une balise générée par ModeliXe. Je vais prendre le cas des attributs cols et rows d'une balise Textarea, mais cette remarque est bien sur valable pour tout les types d'attributs de l'ensemble des balises. Vous pouvez soit les préciser de manière statique directement dans la balise ModeliXe de cette manière:

<mx:formField id="ma balise" rows="5" cols="30" />
Soit en dynamique dans la méthode de génération de la balise :
$maPage -> MxFormField("ma balise", "textarea", "nomDeLaBalise", $nomDeLaBalise, ' rows="5" cols="30" ');

ModeliXe - Moteur de template en PHP - © Rémy TRICHARD 2004-2008 - Exploitation sous les conditions de la licence GNU LGPL
Cette page a été générée par ModeliXe 1.4-dev en 0.0169 secondes.