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 » –>