« Modèles » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
Ligne 37 : Ligne 37 :
Ce modèle crée une interface qui sera utilisé pour ajouter ou modifier des fiches.
Ce modèle crée une interface qui sera utilisé pour ajouter ou modifier des fiches.


== RSS template ==
== Modèle RSS ==


Lets you control the content of the [[RSS]] feed for database entries.
Vous laisse contrôler le contenu du flux [[RSS]] pour la base de données.


== CSS template ==
== CSS template ==

Version du 29 juillet 2013 à 19:49

Les modèles pour le module Base de données permettent de contrôler le format visuel de l'information lors de la visualisation des listes ou lors de l'édition des données. C'est la même technique du publipostage dans les logiciels tels que Open Office Writer et Microsoft Word.


Usage des balises

Le contenu de chaque Champ que vous créez pour votre base de données et quelques balises spéciales (énumérées ci-dessous) peuvent être insérés dans des modèles. Les champs ont des formats [[nomduchamp]]. Toutes les autres balises ont le format ##balise##.

Pour utiliser les balises dans la boîte du côté gauche, utilisez l'éditeur HTML, placez votre curseur sur la zone de texte de votre cible et cliquez sur la balise de votre choix. Autrement, vous pouvez simplement taper le nom de la balise désirée comme ##ceci## ou comme [[ceci]].

  • ##edit## crée un lien avec icône permettant d'éditer votre donnée (disponible seulement si vous avez les permissions requises)
  • ##delete## crée un lien permettant de supprimer votre donnée (disponible seulement si vous avez les permissions requises)
  • ##approve## crée un lien permettant d'approuver la donnée (disponible seulement si vous avez les permissions requises)
  • ##more## crée un lien pour l'affichage fiche, pouvant contenir plus d'informations
  • ##moreurl## crée 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 un champ URL ou dans le type vue code source
    <a href="##moreurl##">[[nomduchamp]]</a>
  • ##comments## crée un lien pour visualiser/éditer des commentaires, le lien texte est le nombre de commentaires (disponible seulement si les commentaires sont activés)
  • ##user## crée un lien pour la page de l'utilisateur qui entre la donnée
  • ##timeadded##
  • ##timemodified##

Modèle liste

Ce modèle permet le contrôle des champs utilisés et leur positionnement lorsqu'on visionne plusieurs entrées à la fois (ex: résultats de recherche). Il est possible que cette vue fournisse simplement un aperçu avec plus d'informations détaillés. En cliquant sur la fiche, on accède à la vue Affichage fiche.

Le modèle liste peut servir comme moyen d'exporter votre base de donnée sous un fichier CSV.

Modèle fiche

Cette vue est utilisé pour montrer une fiche à la fois donnant plus d'espace pour l'affichage d'information tel que les grandes images ou simplement plus de détails concernant une fiche lorsque l'espace est requise.

Modèle recherche avancée

Le modèle de recherche avancée est pour créer une interface qui sera utilisée par le moteur de recherche avancée.

Modèle nouvelle fiche

Ce modèle crée une interface qui sera utilisé pour ajouter ou modifier des fiches.

Modèle RSS

Vous laisse contrôler le contenu du flux RSS pour la base de données.

CSS template

If any of the HTML in your other templates requires CSS to provide visual style you can specify it here.

Javascript template

You can use javascript to manipulate the way elements are displayed in either the List, Single or Add templates. Basically you need to enclose the part you want to manipulate in some named html element. The naming is essential as it allows you to identify the element for manipulation.

Let's say, for example, you have a field in your database that stores a person's name and when you display the names in the List View you want to count the times a name matches some criteria and display the result.

Your database will contain a field which we will call "name". In your List template you will be able to display the contents of that field by using the [[name]] construct at the place where you want that information displayed. For example in the Repeated entry on the list template you will have

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

You now need to modify that entry to ensure that the part you want to manipulate is a named element.

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

The footer of your list view can then contain another named element to display the result.

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

Your javascript template can now look as follows

 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;

This will display a table of names as is usual in the list view. Now at the bottom there will also be the count of the names that matched foo or Foo.

Reset templates button

When you first create a database the templates will be pre-filled with appropriate HTML. If you later add fields then you can press the reset templates button and it will add HTML for the new fields in a similar fashion. If you have edited any of the templates in the meantime then your changes will be lost. It is recommended that you finalize the database fields before changing the template code.

Voir aussi

Discussions sur les forums de "Using Moodle" (en anglais) :