PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Récupération des paramètres dans le traitement de déclaration des globales
  • Récupération des paramètres grâce à la fonction PageParamètre
  • Principe détaillé de l'ouverture d'une page
  • Traitements exécutés lors de l'affichage de la page
  • Cas particuliers
  • Ouvrir une page d'un composant
  • Sessions prélancées
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Affiche une page du site dans le navigateur de l'internaute.
WEBDEV - Code Serveur La page affichée peut être une page WEBDEV statique, dynamique, semi-dynamique ou une page AWP.
WEBDEV - Code Navigateur La page affichée peut être une page WEBDEV statique ou une page AWP. Pour afficher une page AWP en lui passant des paramètres, utilisez la fonction FichierAffiche.
PHP La page affichée est une autre page PHP du projet.
Remarque : Si la fonction PageAffiche est utilisée dans le code d'un bouton, la page sera ouverte dans la destination définie pour ce bouton (onglet "Général" de la description du champ ou fonction ChangeDestination).
Versions 24 et supérieures
Ajax Cette fonction est désormais disponible en mode Ajax.
Nouveauté 24
Ajax Cette fonction est désormais disponible en mode Ajax.
Ajax Cette fonction est désormais disponible en mode Ajax.
Exemple
WEBDEV - Code ServeurPHP
// Affichage d'une page en fonction de l'autorisation
SI bAutorise(Nom) ALORS
PageAffiche(PAGE_Bienvenue, Nom)
SINON
PageAffiche(PAGE_Erreur, "Accès interdit")
FIN
WEBDEV - Code Serveur
// Affiche dans la page "PAGE_MaPage.AWP", le 150ème élément
// de la catégorie "Instruments"
PageAffiche(PAGE_MaPage,"Instruments", 150)
// Affiche une page statique dans le cadre en cours
PageAffiche(PAGE_PAGESTATIC)
// Affiche une page quelconque dans le cadre en cours
SI Nation() = nationAnglais ALORS
PageAffiche("US/PAGE_Exemple.HTM")
SINON
PageAffiche("FR/PAGE_Exemple.HTM")
FIN
// Affiche une page statique dans nouveau navigateur redimensionnable
// (500x400). Ce navigateur sera fermé si le navigateur appelant est fermé.
sNomPage est une chaîne = "PAGESTATIC"
PageAffiche(sNomPage, NouveauNavigateur, ...
"NOUVNAV", ONDimension + ONAscenseur, 500, 400, 10, 20, "dependent=1")
Syntaxe
WEBDEV - Code ServeurPHP
PageAffiche(<Page> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Page> : Nom de page
Nom de la page à afficher.
Si ce paramètre est égal à une chaîne vide (""), le nom de la page correspond à la page à laquelle appartient le traitement en cours.
En mode test, si la page à ouvrir est dans un répertoire différent du répertoire du projet, précisez le chemin complet de la page.
<Paramètre 1> : Type de la valeur envoyée à la page (optionnel)
Paramètre(s) attendu par le traitement d'ouverture de la page à afficher. Ces paramètres sont passés par adresse et sont considérés comme des variables globales à la page. Dans le cas d'une page AWP ou PHP, ces paramètres sont convertis en chaîne.
<Paramètre N> : Type de la valeur envoyée à la page (optionnel)
Paramètre(s) attendu par le traitement d'ouverture de la page à afficher. Ces paramètres sont passés par adresse et sont considérés comme des variables globales à la page. Dans le cas d'une page AWP ou PHP, ces paramètres sont convertis en chaîne.
Versions 15 et supérieures
Dans l'environnement, lors de la définition de l'action d'un bouton ou d'un lien, pour éviter de programmer la fonction PageAffiche dans le code de clic, il est possible de sélectionner la page à afficher. Il est aussi possible de définir les paramètres passés à la page en cliquant sur le bouton "Paramètres".
Les paramètres peuvent être définis soit en tant que :
  • Valeur fixe,
  • Référence à un champ de la page,
  • Référence à une variable.
Nouveauté 15
Dans l'environnement, lors de la définition de l'action d'un bouton ou d'un lien, pour éviter de programmer la fonction PageAffiche dans le code de clic, il est possible de sélectionner la page à afficher. Il est aussi possible de définir les paramètres passés à la page en cliquant sur le bouton "Paramètres".
Les paramètres peuvent être définis soit en tant que :
  • Valeur fixe,
  • Référence à un champ de la page,
  • Référence à une variable.
Dans l'environnement, lors de la définition de l'action d'un bouton ou d'un lien, pour éviter de programmer la fonction PageAffiche dans le code de clic, il est possible de sélectionner la page à afficher. Il est aussi possible de définir les paramètres passés à la page en cliquant sur le bouton "Paramètres".
Les paramètres peuvent être définis soit en tant que :
  • Valeur fixe,
  • Référence à un champ de la page,
  • Référence à une variable.
WEBDEV - Code Navigateur
PageAffiche(<Page> [, <Destination> [, <Fenêtre du navigateur> [, <Options> [, <Largeur> [, <Hauteur> [, <Position horizontale> [, <Position verticale> [, <Paramètres Javascript>]]]]]]]])
<Page> : Nom de page ou chaîne de caractères (avec guillemets)
Nom de la page à afficher :
  • Page statique du projet ou page AWP :
    Le nom de la page est indiqué sans extension. La page est affichée en fonction des paramètres de langue du projet.
    Exemple : Pour afficher la page statique "PageSociété", la syntaxe est :
    PageAffiche(PageSociété)
  • Page HTML quelconque présente dans le répertoire <Nom Projet>_WEB (ou un de ses sous-répertoires) :
    Le nom de la page à afficher doit correspondre au chemin complet de la page à partir du répertoire <Nom du projet>_WEB et doit comprendre l'extension du fichier. Dans ce cas, la gestion du multilangue doit être effectuée.
    Exemple : Pour afficher la page "C:\Mes sites\MonSite\MonSite_WEB\Divers\PageHTML.htm", la syntaxe est :
    PageAffiche("Divers\PageHTML.htm")
<Destination> : Chaîne de caractères ou constante optionnelle
Nom de la frame de destination ou alias du champ iFrame destination.
<Destination> peut également prendre les valeurs suivantes :
FrameParentla destination est le conteneur de la page en cours (frameset parent, navigateur parent).
Ce paramètre peut également correspondre à la chaîne "_parent" (compatibilité avec WEBDEV 1.5).
FrameEnCoursla destination est le cadre en cours (valeur par défaut).
Ce paramètre peut également correspondre à la chaîne "_self" (compatibilité avec WEBDEV 1.5).
NavigateurEnCoursla destination est le navigateur en cours.
Ce paramètre peut également correspondre à la chaîne "_top" (compatibilité avec WEBDEV 1.5).
NouveauNavigateurla destination est un nouveau navigateur (une nouvelle fenêtre de navigateur est ouverte). Les paramètres suivants de la fonction PageAffiche permettent de configurer cette nouvelle fenêtre.
Ce paramètre peut également correspondre à la chaîne "_blank" (compatibilité avec WEBDEV 1.5).
<Fenêtre du navigateur> : Chaîne de caractères optionnelle (avec guillemets)
Nom de la fenêtre du nouveau navigateur si <Destination> est égal à la constante NouveauNavigateur. Ce paramètre permet de réafficher une page dans un navigateur portant le même nom (si plusieurs navigateurs sont ouverts sur le poste de l'internaute).
<Options> : Constante ou combinaison de constantes de type entier (optionnelle)
Paramètres de la fenêtre du nouveau navigateur si <Destination> est égal à la constante NouveauNavigateur :
ONAdresseLa barre d'adresse sera affichée
ONAscenseurLes barres de défilement seront affichées
ONComplet
(Valeur par défaut)
La fenêtre du nouveau navigateur sera complète (équivalent à la combinaison de toutes les constantes)
ONDimensionLa fenêtre du nouveau navigateur sera redimensionnable
ONLienLa barre des liens sera affichée
ONMenuLa barre de menu sera affichée
ONMessageLa barre de message sera affichée
ONOutilsLa barre d'outils sera affichée
ONSimpleLa fenêtre du nouveau navigateur sera minimale (aucune combinaison de constantes).
<Largeur> : Entier optionnel
Largeur en pixels de la fenêtre du nouveau navigateur.
<Hauteur> : Entier optionnel
Hauteur en pixels de la fenêtre du nouveau navigateur.
<Position horizontale> : Entier optionnel
Position horizontale en pixels de la fenêtre du nouveau navigateur (par rapport au coin haut gauche de l'écran).
<Position verticale> : Entier optionnel
Position verticale en pixels de la fenêtre du nouveau navigateur (par rapport au coin haut gauche de l'écran).
<Paramètres Javascript> : Chaîne de caractères optionnelle (avec guillemets)
Autres paramètres Javascript à utiliser lors de l'ouverture d'un nouveau navigateur si <Destination> est égal à la constante NouveauNavigateur.
Remarques
WEBDEV - Code ServeurPHP

Récupération des paramètres dans le traitement de déclaration des globales

Pour récupérer les paramètres, dans le traitement de déclaration des globales de la page, indiquez en début de traitement la ligne suivante :
PROCEDURE <Nom de la page> (<Paramètre1> [,...[, <Paramètre N>]]])
Ces paramètres peuvent être des chaînes, des réels ou des entiers. Les paramètres récupérés dans le code de déclaration des globales de la page sont des chaînes de caractères (pages AWP et PHP uniquement)
WEBDEV - Code ServeurPHP

Récupération des paramètres grâce à la fonction PageParamètre

La fonction PageParamètre permet de récupérer la valeur des paramètres passés à la page. Selon le type de page, plusieurs possibilités existent :
  • Récupération selon le nom du paramètre
    Le nom du paramètre a été précisé dans l'URL de la page.
    Dans le cas d'une page AWP ou PHP, les paramètres sont automatiquement renommés par WEBDEV (P1, P2, ..., P256). Dans ce cas, la page ne doit pas contenir des champs ayant pour nom P1, P2, ..., P256.
    1. Code permettant d'afficher la page en lui passant des paramètres :
      // Affiche dans la page "MaPage.AWP", le 350ème élément
      // de la catégorie "Instruments"
      PageAffiche(PAGE_MaPage, "Instruments", 350)
    2. Code permettant de récupérer les paramètres :
      // Récupération des paramètres
      CategorieRecherchée est une chaîne = PageParamètre("P1")
      IDRecherché est un entier = PageParamètre("P2")
  • Récupération selon l'indice du paramètre
    L'indice du paramètre correspond à l'ordre dans lequel les paramètres ont été passés dans l'URL de la page.
    1. Code permettant d'afficher la page en lui passant des paramètres :
      // Affiche dans la page "PAGE_MaPage.AWP", le 350ème élément
      // de la catégorie "Instruments"
      PageAffiche(PAGE_MaPage, "Instruments", 350)
    2. Code permettant de récupérer les paramètres :
      // Récupération des paramètres
      CategorieRecherchée est une chaîne = PageParamètre(1)
      // CategorieRecherchée = "P1=Instruments"
      CategorieRecherchée = Droite(Taille(CategorieRecherchée)-3)
      IDRecherché est un entier = PageParamètre(2)
      // IDRecherché = "P2=350"
      IDRecherché = Droite(Taille(IDRecherché)-3)
WEBDEV - Code ServeurPHP

Principe détaillé de l'ouverture d'une page

La fonction PageAffiche effectue les opérations suivantes :
  • Création d'un contexte de page sur le serveur (sauf lors de l'affichage de pages PHP).
  • Renvoi de la page dans le navigateur de l'internaute.
PHP La fonction PageAffiche renvoie uniquement la page dans le navigateur de l'internaute.
WEBDEV - Code ServeurPHP

Traitements exécutés lors de l'affichage de la page

Les différents traitements exécutés lors de l'affichage de la page sont les suivants :
  • Code de déclaration des globales
  • Code d'initialisation de la page.
  • Code d'initialisation des champs.
  • Affichage de la page dans le navigateur.
  • Codes Javascript associés à la page et aux champs.
  • Code WLangage suivant l'appel à la fonction PageAffiche (s'il existe).
Les différents traitements exécutés lors de l'affichage de la page sont les suivants :
  • Code de déclaration des globales des modèles de champs et des pages internes.
  • Code de déclaration des globales de la page.
  • Initialisation sur les champs fils directs de la page (et récursivement sur les champs et objets de la page) :
    • Code de déclaration des variables (s'il existe et n'a pas encore été exécuté : page, superchamp, popup, ...).
    • Intialisation des fils directs.
    • Versions 24 et supérieures
      Code de Mise à jour d'IHM (s'il existe).
      Nouveauté 24
      Code de Mise à jour d'IHM (s'il existe).
      Code de Mise à jour d'IHM (s'il existe).
    • Code d'initialisation (s'il existe).
  • Pour tous les champs de la page (selon un parcours en profondeur) :
    • Remplissage du champ (pour les champs Liste, Combo, Table ou Zoné répétée fichier).
    • Code de fin d'initialisation (s'il existe).
  • Exécution du code de Mise à jour d'IHM de la page (s'il existe).
  • Exécution du code d'initialisation de la page.
De plus, dans le cas d'une page qui hérite d'un modèle, le code du/des modèle(s) est exécuté juste avant le code de la page. Pour les champs qui héritent d'un modèle, il faut un appel à la fonction ExécuteAncètre pour appeler le code du modèle (sauf dans le cas du code de déclaration).
WEBDEV - Code ServeurPHP

Cas particuliers

  • Pour ré-afficher une page, il est conseillé d'utiliser PageActualise.
  • Pour prendre en compte un changement de langue (fonction Nation), utilisez la fonction PageUtilise.
  • Si un contexte de page de même nom existe déjà, celui-ci est détruit (et son code de fermeture exécuté), avant d'ouvrir le nouveau.
  • Pour afficher une page quelconque (qui n'est pas présente dans le site), utilisez par exemple la fonction NavigateurOuvre.
WEBDEV - Code Serveur

Ouvrir une page d'un composant

Pour ouvrir une page d'un composant, il suffit d'utiliser directement le nom de la page du composant (le composant étant intégré dans le projet). Par exemple :
PageAffiche(PageDuComposant)
En cas de conflit avec un élément du projet, il suffit de préfixer le nom de l'élément par le nom du composant. Par exemple :
PageAffiche(MonComposant.MaPage)
Pour utiliser le nom de la page dans une variable, il est nécessaire de préciser le nom du composant. Par exemple :
sPage est une chaîne = "MonComposant.MaPage"
PageAffiche(sPage)
Versions 20 et supérieures

Sessions prélancées

Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans le traitement "Initialisation du projet". Cette fonction doit être utilisée dans le traitement "Initialisation du projet après connexion au site".
Nouveauté 20

Sessions prélancées

Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans le traitement "Initialisation du projet". Cette fonction doit être utilisée dans le traitement "Initialisation du projet après connexion au site".

Sessions prélancées

Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans le traitement "Initialisation du projet". Cette fonction doit être utilisée dans le traitement "Initialisation du projet après connexion au site".
Composante : wd240page.dll
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire