Formulaire d’attributs

Ajouter un alias sur un champ

Habituellement, les noms de champs sont définis sans accent, sans espaces et ne peuvent pas être très longs. Dans Propriétés de la couche ‣ Formulaire d’attribut et en cliquant sur un champ, vous pouvez ajouter un alias.

Cela sera utilisé pour remplacer le nom du champ lorsque cela est possible par un nom plus convivial.

Propriétés de la couche ‣ Champs sources, vous pouvez afficher la liste des alias définis sur cette couche.

Personnaliser le formulaire d’édition

Dans Propriétés de la couche ‣ Formulaire d’attributs et en cliquant sur un champ, vous pouvez configurer le formulaire.

Pour définir les outils d’édition de vos champs sur la couche :

  • Dans Propriétés de la couche ‣ Formulaire d’attributs.

  • En sélectionnant d’abord un champ sur le panneau de gauche, sélectionnez le Type de Widget :

    • Pour masquer un champ, choisissez Cachée. L’utilisateur ne verra pas le champ dans le formulaire. Il n’y aura pas d’insertion de contenu. Utilisez-le pour la clé primaire.

    • Pour ajouter un champ en lecture seule, décochez la case Éditable.

    • Cas particulier de l’option Valeur Relationelle. Vous pouvez utiliser cette option pour une carte Lizmap. Pour que les utilisateurs aient accès aux informations de la couche externe qui contient les données, vous devez activer la publication de la couche en tant que couche WFS dans Propertiés du projet ‣ QGIS Server ‣ WFS.

Avertissement

Lizmap Web Client ne connaît pas le fichier type « QT Designer UI » pour la génération de formulaire. Par conséquent, utilisez uniquement le mode Autogénérer ou GlisserDéposer pour éditer les couches.

Note

Pour rendre le champ obligatoire, vous devez le définir comme NOT NULL dans les propriétés de la table, dans la base de données, pas dans QGIS –> Propriétés de la couche.

Note

Tous les outils d’édition ne sont pas pris en comptes par Lizmap Web Client. Seulement les outils suivants sont supportés :

  • Édition de texte

  • Classification

  • Plage

  • Liste de valeurs

  • Cachée

  • Case à cocher

  • Date/Heure

  • Valeur relationnelle

  • Référence de la relation

Si l’outil n’est pas supporté, le formulaire web affichera un champ de saisi texte.

Formulaire avancé

Note

Pour regrouper des champs dans différents onglets, suivez la documentation QGIS sur le formulaire glisser-déposer <https://docs.qgis.org/latest/fr/docs/user_manual/working_with_vector/vector_properties.html#the-drag-and-drop-designer>`_.

Lizmap peut reproduire plusieurs comportements configurés dans QGIS :

  • Contrôle de la visibilité par expression.

    Par exemple, vous pouvez faire basculer la visibilité d’un onglet en fonction de l’état d’une case à cocher.

    1. Créer un champ nommé has_photo défini comme un outil Case à cocher.

    2. Créer un onglet photo ayant :

    • Contrôle de la visibilité par expression cochée

    • Expression avec "has_photo" = true OR "has_photo" = 't'

  • Contraintes définies par expression.

    Par exemple, vous voulez simplement vérifier que les utilisateurs écrivent correctement l’URL d’un site web commençant par http (bien sûr, une expression régulière serait meilleure, mais nous restons simples).

    1. Créer un champ nommé website défini comme un outil Édition de texte.

    2. Définir les Constraintes

    • Expression avec left( "website", 4) = 'http'

    • Description de l’expression avec L'URL du site web doit commencer par 'http'.

  • Expression de filtre pour un champ Valeur de la Relation.

    Par exemple, vous souhaitez qu’un champ obtienne automatiquement la valeur associée d’un champ d’une autre couche lorsque vous dessinez un point sur la carte.

    1. Créer un champ nommé quartier défini comme un outil Valeur relationnelle.

    2. Paramétrer la couche parent à une autre couche quartiers.

    3. Définir Expression de filtre avec intersects($geometry, @current_geometry)

    4. Nous pouvons également vérifier Non null et Renforcer la contraint non null pour vérifier qu’aucune valeur NULL ne peut être définie.

Astuce

Comme vu dans la vidéo ci-dessus, il n’est plus possible, nativement, de faire en sorte que le menu déroulant affichant le quartier cliqué le soit automatiquement après le clic sur la carte. Le menu déroulant a une valeur vide comme premier élément mais a toujours une valeur unique dans à l’intérieur avec le nom du quartier cliqué sur la carte.