DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions spécifiques au WEB / Fonctions de gestion des pages
  • Récupération des paramètres dans l'événement "Déclarations globales"
  • Récupération des paramètres grâce à la fonction PageParamètre
  • Principe détaillé de l'ouverture d'une page
  • Opérations effectuées lors de l'affichage de la page
  • Cas particuliers
  • Ouvrir une page d'un composant
  • Sessions prélancées
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
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,
  • une page en mode session,
  • une page AWP.
WEBDEV - Code Navigateur La page affichée peut être :
  • une page WEBDEV statique.
  • une page AWP. Pour afficher une page AWP en lui passant des paramètres, utilisez la fonction FichierAffiche.
  • une page référençable en mode Session.
PHP La page affichée est une autre page PHP du projet.
Remarques :
  • Si la fonction PageAffiche est utilisée dans le code d'un champ Bouton, la page sera ouverte dans la destination définie pour ce champ Bouton (onglet "Général" de la description du champ ou fonction ChangeDestination).
  • Pour afficher une page quelconque dans un navigateur, utilisez une des fonctions suivantes : NavigateurLanceAppli ou NavigateurOuvre.
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

Afficher une page statique ou en mode session (non référençable) Masquer les détails

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 référence 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 référence 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.
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

Afficher une page statique ou une page AWP Masquer les détails

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
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 multilingue doit être effectuée.
    Exemple : Pour afficher la page "C:\Mes Projets\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 :
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).
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).
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
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
Autres paramètres Javascript à utiliser lors de l'ouverture d'un nouveau navigateur si <Destination> est égal à la constante NouveauNavigateur.
WEBDEV - Code Navigateur

Afficher une page en mode session référençable Masquer les détails

PageAffiche(<Page> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Page> : Nom de page
Nom de la page à afficher. Cette page doit être une page en mode session référençable.
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 référence 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 référence 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.
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.
Remarques
WEBDEV - Code ServeurPHP

Récupération des paramètres dans l'événement "Déclarations globales"

Pour récupérer les paramètres dans l'événement "Déclarations globales" de la page, indiquez en début de code 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 l'événement "Déclarations 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
      CatégorieRecherchée est une chaîne = PageParamètre(1) 
      // CategorieRecherchée = "P1=Instruments"
      CatégorieRecherchée = Droite(Taille(CatégorieRecherché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

Opérations effectuées lors de l'affichage de la page

Les différentes opérations effectuées lors de l'affichage de la page sont les suivants :
  • Exécution de l'événement "Déclarations globales" des modèles de champs et des pages internes.
  • Exécution de l'événement "Déclarations 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, ...).
    • Initialisation des fils directs.
    • Code de Demande de mise à jour de l'affichage (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 de l'événement "Demande de mise à jour de l'affichage" de la page (s'il existe).
  • Exécution de l'événement "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 la fonction 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)

Sessions prélancées

Si votre projet utilise les sessions prélancées, cette fonction ne doit pas être utilisée dans l'événement "Initialisation" du projet. Cette fonction doit être utilisée dans l'événement "Initialisation lors d'une connexion à une session prélancée".
Classification Métier / UI : Code UI
Composante : wd300page.dll
Version minimum requise
  • Version 9
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 13/09/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale