Karrigell Documentation

Version 2.3.1 02 09 06

English

14. Inclure d'autres documents ou scripts

A l'intérieur d'un script, il est possible d'inclure le contenu d'un autre fichier statique ou le résultat d'un autre script par la fonction Include(chemin), où chemin est le chemin vers le fichier ou le script, relativement au script courant. Si chemin correspond à un script, il est exécuté dans le même espace de nom que le script courant

Ceci est utile si vous contruisez un ensemble de pages avec des composants qui seront présent sur chaque page (par exemple un en-tête et/ou un pied de page). Votre script aura la structure suivante :

Include("entete.htm")       # fichier statique avec titre, feuille de style, etc
(...) le corps du script
Include("piedDePage.py")    # script qui affichera la date par exemple

A l'exécution, Karrigell déclenchera une RecursionError en cas de boucles (des scripts qui s'incluent eux-mêmes, ou le script 1 inclut le script 2 qui inclut le script 1)

14.1 Espace de noms

Un script inclus est exécuté dans le même espace de noms que le script qui l'appelle, y compris les variables définies dans celui-ci : si le script appelant est

nom="Brian"
print "La vie de "
Include("quelNom.py")

et que quelNom.py est

print nom

vous verrez que la variable nom est disponible dans le script inclus

14.2 Passage de paramètres

Il peut être utile de passer des paramètres à un script qu'on inclut : voir par exemple le script de menu dans la démo de portail personnel. Ce script prend en paramètres une liste d'éléments de menu et la liste des urls correspondants

Il sera inclus de la façon suivante :

Labels=[...]
Urls=[...]
Include("k_menu.hip",
    labels=Labels,
    urls=Urls,
    targetUrl="index.pih")

Les paramètres peuvent aussi être passés dans la "query string" ajoutée à l'URL du script : avec Include("/monchemin/unScript.pih?data=bidon") la variable data sera disponible dans l'espace de noms de unScript.pih