Modèles de base de données

De MoodleDocs
Aller à :navigation, rechercher


Les modèles pour la Base de données vous permettent de contrôler la disposition visuelle des informations lorsque vous lisez, visualisez ou modifiez des données de base de données. Il s'agit d'une technique similaire à celle utilisée pour les lettres de "fusion de courriel" dans les traitements de texte tels que Open Office Writer ou Microsoft Word.

Utilisation des tags

Le contenu de chaque champ que vous créez pour votre base de données et certains tags spéciaux (énumérées ci-dessous) peuvent être insérées dans le modèle de sortie à l'aide des tags.

Les champs ont le format [[nom du champ]]. Tous les autres tags ont le format ##sometag##.

Pour utiliser les tags dans la boîte à gauche de la page, cliquez d'abord sur Désactiver l'éditeur, puis placez votre curseur dans la zone de texte de votre édition cible et cliquez sur le tag que vous voulez placer. Lorsque vous avez terminé, cliquez pour enregistrer le modèle. Alternativement, vous pouvez simplement taper le nom approprié dans les symboles requis comme ##this## ou [[this]], respectivement.

  • ##edit## crée un lien icône cliquable qui vous permet de modifier la donnée en cours (n'apparaît que si vous en avez le droit)
  • ##delete## crée un lien qui vous permet de supprimer la donnée en cours (n'apparaît que si vous en avez le droit)
  • ##approve## crée un lien qui vous permet d'approuver la donnée en cours de la base de données (n'apparaît que si vous avez le droit de le faire)
  • ##disapprove## crée un lien qui vous permet de désapprouver la donnée en cours de la base de données (n'apparaît que si vous avez le droit de le faire)
  • ##more## crée un lien vers la vue unique, qui peut contenir des informations plus détaillées
  • ##moreurl## crée uniquement l'URL du lien ci-dessus, utile pour créer vos propres liens. Vous pouvez cliquer sur l'icône du lien et taper ##moreurl## dans le champ URL ou dans la vue source type
    <a href="##moreurl##">[[nom du champ]]</a>
  • ##comments## crée un lien vers la page de consultation/modification des commentaires, le texte du lien est le nombre actuel de commentaires (n'apparaît que si les commentaires sont activés)
  • ##user## crée un lien vers la page utilisateur de l'utilisateur qui a soumis la donnée, le lien texte est son nom
  • ##timeadded##
  • ##timemodified##
  • ##userpicture## affiche l'avatar de l'utilisateur en vue Liste
  • ##approvalstatus## inséré comme css en ligne permet de mettre en surbrillance les données non approuvées
  • ###tags### affiche les tags (activé par défaut dans Gérer les tags dans l'administration du site) nouveau dans 3.4.
Exemple du tag ##userpicture##

Modèle de liste

Ce modèle vous permet de contrôler les champs utilisés et leur disposition lors de l'affichage simultané de plusieurs données (par exemple, résultats de recherche). Il est possible que cette vue donne simplement une vue d'ensemble avec des informations plus détaillées disponibles en cliquant sur une donnée pour accéder à la vue unique de la donnée.

Voir Concevoir une vue en liste dans l'activité de base de données Moodle pour des instructions sur la création d'un modèle de liste.

Le modèle de liste peut également être utilisé pour exporter votre base de données comme fichier CSV.

Modèle unique

Elle permet d'afficher une seule donnée à la fois et dispose ainsi de plus d'espace pour l'affichage et peut utiliser, par exemple, des versions plus grandes des images ou fournir plus d'informations que celles affichées dans la vue en liste.

Template2.png

Modèle de recherche avancée

Un modèle de recherche avancée sert à créer le formulaire d'interface utilisé dans la recherche avancée.

Ajouter un modèle

Ce modèle crée le formulaire d'interface utilisé lors de l'ajout ou de la modification des données de la base de données.

Modèle RSS

Vous permet de contrôler le contenu du Flux RSS pour les données de la base de données.

Modèle CSS

Si l'un des HTML de vos autres modèles exige que CSS fournisse un style visuel, vous pouvez le spécifier ici.

Modèle Javascript

Vous pouvez utiliser javascript pour manipuler la façon dont les éléments sont affichés dans les modèles Liste, Simple ou Ajouter. Fondamentalement, vous devez inclure la partie que vous voulez manipuler dans un élément html nommé. Le nommage est essentiel car il permet d'identifier l'élément à manipuler.

Supposons, par exemple, que vous ayez un champ dans votre base de données qui stocke le nom d'une personne et que lorsque vous affichez les noms dans la vue Liste, vous voulez compter les fois qu'un nom correspond à certains critères et afficher le résultat.

Votre base de données contiendra un champ que nous appellerons "nom". Dans votre modèle de liste, vous pourrez afficher le contenu de ce champ en utilisant la construction [[nom]] à l'endroit où vous voulez afficher cette information. Par exemple, dans le modèle de liste, dans la donnée "Donnée répétée", vous obtiendrez

 <table>
   <tr>
     <td>Name: [[name]]</td>
   </tr>
 <table>  

Vous devez maintenant modifier cette donnée pour vous assurer que la partie que vous voulez manipuler est un élément nommé.

 <table>
   <tr>
     <td name="named">Name: [[name]]</td>
   </tr>
 <table>  

Le pied de page de votre vue de liste peut alors contenir un autre élément nommé pour afficher le résultat.

  <div name="result"></div>

Votre modèle javascript peut maintenant ressembler à ce qui suit

 var cnt = 0;
 var re = /foo|Foo/;
 
 function init(){
   var namedElements = document.getElementsByName("named");
   for (i=0; i < namedElements.length; i++) {
       if(re.test(namedElements[i].innerHTML)) cnt++;
     }
   var namedResult = document.getElementsByName("result");
   namedResult[0].innerHTML = cnt;
   }
 
 window.onload = init;

Ceci affichera un tableau de noms comme d'habitude dans la vue en liste. Maintenant, en bas, il y aura aussi le compte des noms qui correspondent à foo ou Foo.

Notez que window.onload ne gère aucune dépendance sur le code YUI, donc les modules YUI requis par votre code init() ne peuvent pas être chargés, et votre code échoue.

Dans ce cas, au lieu d'utiliser onload, utilisez :

YUI().use('node', 'other', 'dependencies', function(Y) {

  // Votre code ici.

  // Cette fonction est une fermeture donc l'objet Y que vous définissez dans la définition de la fonction est à vous et rien d'autre sur la page ne devrait pouvoir le casser.

});

Bouton Réinitialiser les modèles

Lorsque vous créez une base de données pour la première fois, les modèles seront pré remplis avec le HTML approprié. Si vous ajoutez plus tard des champs, vous pouvez appuyer sur le bouton "réinitialiser les modèles" et il ajoutera du HTML pour les nouveaux champs d'une manière similaire. Si vous avez modifié l'un des modèles entre-temps, vos modifications seront perdues. Il est recommandé de finaliser les champs de la base de données avant de modifier le code du modèle.

Voir aussi

Utilisation des forum de discussions Moodle :