-
    Techniques et conseils

Note: L'ensemble des "Tips of the Week" de l'éditeur OmniPilot sont régulièrement traduits chaque semaine. Vous les retrouvez ci-après

LISTE DES TUTORIAUX

Formatage de nombres et calculs FileMaker Pro sous Lasso

Passer facilement de FileMaker Pro CDML à Lasso Professional 8

Outil de Maintenance MySQL

Indicateur de progression - Progress bar

Uploads de fichiers sous Lasso Professional 8

Utilisation des arrays pour la création d'inlines dynamiques

Balises de gestion du Cache

Méthodes d'appel des balises

Encryption de données

Notions de Sessions

Gestion des erreurs

Pages d'erreur customisées

Variables globales

Optimisations de MySQL

Symboles d'assignation mathématiques

Expression régulières (Nettoyage du texte)

Expressions régulières (Rechercher/remplacer)

Expressions régulières (principes de base)

Optimisez votre code HTML en utilisant les balises [Loop] et [Iterate]

Utilisation des boucles (Loops)

Utilisation de la balise [Action_Params]

Techniques de commentaires


     
Blueworld, Windows Server 2003, Windows XP, RedHat, Linux, Mac OS X, MACOS, Apache, MySQL, FIlemaker Pro

Edité par OmniPilot Software, Lasso Professional fonctionne sous Windows 2000/2003/XP et Linux RedHat et Apache Server - Il s'intègre parfaitement à MySQL™ et FileMaker Pro™ ainsi que toutes autres bases de données
     




Déposez votre nom de domaine avec ELIDEE

Sujet: Utilisation des arrays pour la création d'inlines dynamiques

Résumé: Les inlines dans Lasso Professional procurent une grande flexibilité pour spécifier des recherches dans des bases de données ou toute autre action. Néanmoins, il peut être nécessaire d'utiliser des conditions ou tout autre logique de manière à dynamiquement générer les paramètres de l'inline. Il est possible ainsi d'inclure de manière sélective des termes d'une recherche ou de créer un tri dynamique et plus encore.

Aperçu:

Une balise [Inline] accepte toute une série de paramètres qui vont déterminer l'action sur la base de données. Ces paramètres sont lus par Lasso dans l'ordre dans lesquels ils ont été spécifiés. Certains comme -Database, -Table, -MaxRecords, -SkipRecords ne peuvent être spécifiés qu'une seule fois. La dernière instance de chaque paramètre est la valeur utilisée par Lasso. Les autres paramètres tels que les termes d'une recherche 'nom_champ'='valeur' et les paramètres de tris -SortField='Nom_champ' peuvent être précisés plusieurs fois. Enfin, chaque inline ne peut avoir qu'une seule action(-Search, -Add, -Update, etc.) qui est le dernier paramètre précisé.

En plus des paramètres standards, un inline va également accepter un array de paramètres. Chacun des éléments de cet array est inséré comme s'il avait été tapé en dehors de cet array. Ceci permet aux paramètres de l'inline d'être assemblés dans une variable puis passés en une seule fois à l'inline. Ainsi, il sera possible de générer tous les paramètres de l'inline de cette façon. Il sera également envisageable de mixer des paramètres de l'array avec des paramètres classiques.

Note: chaque élément de l'array doit être une paire avec à la fois un nom et une valeur. Il sera donc nécessaire de préciser une valeur "bidon" pour les paramètres d'action de manière à ce qu'ils puissent être utilisés de cette manière (Array: -Search=''). Les mots clés tels que -Search, -MaxRecords,etc, ne doivent pas être encadrés par des quotes ''.

Inline Dynamique

La technique standar pour créer un inline dynamique est de créer une variable array qui va stocker les paramètres de l'inline. La variable initiale peut contenir quelques paramètres pour l'array ou être simplement (Array). Dans cet exemple, notez que l'action -Search s'est vu attacher une valeur "bidon" de manière à s'assurer qu'il s'agit bien d'une paire et qu'aucun mot clé n'est encadré par des quotes ''.

[Var: 'inline_params' = (Array: -Search='', -Database='Contacts', -Table='Personnel')]

Des paramètres additionnels sont ajoutés à l'inline par adjonction à la variable $inline_params en utilisant [Array->Insert]. Un paramètre peut être ajouté dans chaque balise d'insertion.

[$inline_params->(Insert: -MaxRecords='all')] [$inline_params->(Insert: -SkipRecords=0)]

Des paramètres Nom/Valeur peuvent être insérés de la même manière. Ici, un paramètre pour 'Prenom' égal à 'Jean' est inséré dans l'inline. Notez que l'opérateur doit être inséré en premier et ensuite le paramètre Nom/Valeur.

[$inline_params->(Insert: -Op='eq')] [$inline_params->(Insert: 'Prenom'='Jean')]

L'inline peut être rendu dynamique en utilisant des conditions afin de déterminer si des paramètres doivent être ajoutés ou non. Par exemple, ce code vérifie quel champ doit être utilisé pour trier l'inline et insère différents paramètres -SortField et -SortOrder en conséquence.

[if: $sortfield >> 'prenom']   [$inline_params->(Insert: -SortField='Prenom')]   [$inline_params->(Insert: -SortOrder='Ascending')] [else: $sortfield >> 'nom']   [$inline_params->(Insert: -SortField='Nom')]   [$inline_params->(Insert: -SortOrder='Descending')] [/if]

L'avantage sur le fait d'utiliser simplement une variable telle que -SortField=$SortField est que vous pouvez ainsi insérer plusieurs paramètres de tri -SortField et -SortOrder dans l'inline. Ceci vous permettra d'obtenir un tri plus intelligent lorsque différentes colonnes de données sont affichées et que les sous-tris sont déterminés par un tri général.

Une fois que tous les paramètres de l'inline ont été déterminés ils peuvent être affichés pour debuggage en affichant les valeurs de $inline_params.

[Encode_HTML: $inline_params]

L'inline est exécuté en passant $inline_params à la balise [inline] ouvrante. Si [action_params] est exécuté au sein de l'inline (entre [inline]...[/inline] alors vous pourrez voir comment Lasso a interprété les valeurs passées par $inline_params.

[Inline: $inline_params] ... [/Inline]

Si nécessaire, des paramètres aditionnels peuvent être précisés au sein de la balise [inline] elle-même avant ou après la variable $inline_params. Selon l'ordre des paramètres il est possible de paramétrer des valeurs par défaut dans l'inline qui peuvent être supplantées par les paramètres de $inline_params

If necessary, additional parameters can be specified within the [Inline] tag itself either before or after the $inline_params variable. Depending on the order of parameters it is possible to set up defaults in the inline that are over-ridden by parameters in $inline_params ou pour paramétrer des sécurités sur les paramètres passés par $inline_params.

Inlines Semi-Dynamiques

Souvent, il n'est pas nécessaire de créer un inline complètement dynamique, mais il est souhaitable d'avoir quelques éléments dynamiques à l'intérieur de cet inline. Par exemple, il peut être nécessaire d'exclure certains paramètres de recherche ou d'inclure des éléments de recherche dynamiques. Les paramètres de l'array mixés à des paramétres normaux peuventêtre utilisés pour réaliser ceci.

Le paramètre -Op='eq' peut être problématique dans des recherches sur des bases de données SQL parce qu'il va rechercher uniquement les champs vides lorsque la valeur correspondante n'a pas été saisie en recherche. Il est souvent souhaité de seulement abandonner un paramètre si la valeur spécifiée par l'utilisateur est vide. Ceci peut être accompli en utilisant un paramètre en array pour l'inline.

Dans cet exemple, une variable $inline_params est créée en tant qu'array vide. Si l'action_param 'prenom' n'est pas vide, alors l'opérateur et la paire Nom/Valeur sera inséré dans l'array. Sinon, l'array est simplement ignoré.

[Var: 'inline_params' = (Array)] [If: (Action_Param: 'Prenom') != '']   [$inline_params->(Insert: -Op='eq')]   [$inline_params->(Insert: 'Prenom' = (Action_Param: 'Prenom'))] [/If]

L'array est passé à l'inline. Si l'array est vide alors il est ignoré et n'affecte en rien l'inline. Si l'array contient l'opérateur ainsi qu'une valeur pour Prenom, alors ces paramètres sont utilisés pour déterminer les critères de recherche.

[Inline: -Search, -Database='Contacts', -Table='Personnel', $inline_params] ... [/Inline]

Cette même technique peut être utilisée à chaque fois que seulement quelques paramètres dans un inline doivent être déterminés dynamiquement, même si la majorité des éléments de l'inline sont spécifiés manuellement et de manière statique.

Plus d'information

Plus d'informations sur ces balises inlines et le traitements des paramètres peuvent être trouvées dans le manuel Lasso 7 (ou 8) Language Guide ou sur le site LDML Reference.

Produit:    Lasso Professional
Plateformes:    Mac OS X, Windows 2000, Windows XP, Windows 2003, Red Hat Linux
Version:    7.x
Auteur:    Fletcher Sandbeck - OmniPilot Software, Inc.


     
Retour accueil
Lasso Studio
Lasso Professional
Communiqués Presse
Tutoriaux
Lasso & Filemaker
Evaluation gratuite
Hébergement Lasso/MySQL
Revendeurs
Historique logiciel
Tarifs - Commander
Nous contacter
     

Notre numéro de téléphone : +33 5 57 22 89 35

Hébergement mutualisé Lasso




Hébergement et location de baies de serveurs et Transit IP par ELIDEE


-  Accueil  -  Développer avec Lasso Studio  -  Déployer avec Lasso Professional  --
Administration du site webmaster@elidee.com | Copyright 2004-2010, Elidée SARL. Tous droits réservés
Toutes les marques citées sont déposées par leur propriétaire respectif