|
Les articles précédents : Les modèles - Partie 1 : Introduction aux modèles par yeca Les modèles - Partie 2 : Tableaux répétés et régions répétées Les modèles : Partie 3 : Attributs modifiables, régions facultatives Les modèles : Partie 4 : Expressions et paramètres de modèle Les modèles : Partie 5 : Modèles imbriqués, transmission de paramètres
Il existe des régions dans un document qui ne rentrent dans aucune des catégories que nous avons vues dans les articles précédents : il s'agit des codes situés en dehors des balises <html> et </html>, c'est-à-dire tout ce qui concerne les langages dynamiques tels que les codes PHP, ASP et tous les autres. Dans les versions antérieures à DMX, si on avait un modèle ayant du code situé dans ces zones, le code des pages faites à partir de ce modèle n'était pas mis à jour pour la simple raison que ce code n'était pas dans une zone non-modifiable. Aussi pour rectifier ce problème, DMX a introduit un nouveau type de régions, toutes celles qui sont à l'extérieur du code HTML. Fonctionnement Lorsque vous créez un modèle utilisant un langage dynamique, puis que vous créez des pages à partir de ce modèle, DMX insère cette ligne dans ces pages : <!-- InstanceBegin template="Templates/modDyn.dwt.php" codeOutsideHTMLIsLocked="false" --> Le paramètre codeOutsideHTMLIsLocked est évalué à faux par défaut. Autrement dit, les scripts peuvent être modifiés à volonté dans les pages qui utilisent le modèle. Autrement dit encore, toute modification du script dans le modèle lui-même n'entrainera pas de mise à jour dans les pages-enfants. Pour obliger DMX à reconnaitre ces zones comme devant être mises à jour, il faut insérer directement dans le modèle lui-même, à l'intérieur de la balise <head> la ligne suivante : <!-- TemplateInfo codeOutsideHTMLIsLocked="true" --> Ce paramètre peut prendre les valeurs vrai ou faux (true/false). Notez que cette ligne doit être insérée manuellement : aucune boite de dialogue ne le permet de façon automatique... Evaluée à vrai, cette expression empêchera toute modification de scripts dans les pages-enfants, et permettra à d'éventuelles modifications du code dans le modèle de se propager à toutes les pages-enfants. Dans celles-ci le code sera donc : <!-- InstanceBegin template="Templates/modDyn.dwt.php" codeOutsideHTMLIsLocked="true" --> |