« Types de champs d'information » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
[[mod/customlabel/view|Retour à la racine du composant]] | |||
== Type : textfield == | == Type : textfield == | ||
Dernière version du 21 avril 2012 à 10:30
Retour à la racine du composant
Type : textfield
Le type le plus simple. Il se traduira par un champ de texte simple à saisir, et enregistre une donnée chaine dans le micro-modèle.
Ecriture
$field['type'] = 'textfield';
Paramètres supplémentaires
maxlength : alimente l'attribut 'maxlength' du champ de texte.
size : alimente l'attribut 'size' du champ de texte.
default : valeur initiale par défaut.
Type : textarea
Le type le plus simple. Il se traduira par une zone de texte à saisir, et enregistre un paragraphe dans le micro-modèle.
Ecriture
$field['type'] = 'textarea';
Paramètres supplémentaires
rows : alimente l'attribut 'rows' de la zone de texte.
cols : alimente l'attribut 'cols' de la zone de texte.
default : valeur initiale par défaut.
Type : choiceyesno
Un sélecteur booléen. Il se traduira par une liste à deux valeurs, et enregistre une valeur 0/1 dans le micro-modèle.
Ecriture
$field['type'] = 'choiceyesno';
Paramètres supplémentaires
default : valeur initiale par défaut.
Type : list
Un sélecteur dans une liste fermée "en dur". Il se traduira par une liste de choix, et enregistre un code d'option dans le micro modèle.
Ecriture
$field['type'] = 'list';
Paramètres supplémentaires
options : un tableau de clefs d'options.
multiple : 0 ou 1 (optionnel). Si marqué, permet un choix multiple.
default : valeur initiale par défaut.
Type : datasource
Un sélecteur dans une liste provenant d'une source de données externe. Il se traduira par une liste de choix, et enregistre un code d'option dans le micro modèle.
Plusieurs méthodes existent pour obtenir le liste de données de référence.
Ecriture
$field['type'] = 'datasource';
Paramètres supplémentaires
source : la méthode d'obtention des entrées de listes ('dbfieldkeyed', 'dbfieldkey', 'function').
multiple : 0 ou 1 (optionnel). Si marqué, permet un choix multiple.
default : valeur initiale par défaut.
Méthodes d'alimentation de la liste
Méthode : dbfieldkeyed
Dans cette méthode, on considère que les clefs d'option et les libellés affichables de liste sont tous deux dans la table de données à examiner, et récupérables à l'aide d'une simple requête. Les champs caractéristiques de la source sont :
table : Le nom de la table (sans préfixe, exemple : course_categories)
key : désigne le nom du champ contenant les clefs d'options ('id' par défaut)
field : désigne le nom du champ contenant les valeurs afficables d'option (libellés)
select : une clause 'WHERE ... ' à appliquer dans la requête
ordering : les champs de la clause 'ORDER BY ...' appliquée à la requête
Méthode : dbfieldkey
Dans cette méthode, on considère que les clefs d'option proviennent de la table de données à examiner, mais les libellés affichables proviennent d'une "traduction" de ces options. Les champs caractéristiques de la source sont :
table : Le nom de la table (sans préfixe, exemple : course_categories)
field : désigne le nom du champ contenant les valeurs afficables d'option (libellés)
select : une clause 'WHERE ... ' à appliquer dans la requête
ordering : les champs de la clause 'ORDER BY ...' appliquée à la requête
domain : le domaine (composant) où aller chercher les traduction des options
Méthode : function
Cette méthode et la plus ouverte et permet au développeur d'écrire sa propre fonction pour obtenir la liste d'option. Les champs caractéristiques de la source sont :
file : Le nom du fichier de code à inclure où se trouve la fonction (chemin relatif à $CFG->dirroot)
function : Le nom de la fonction à appeler
(Il n'est pas possible pour l'instant de passer des attributs à cette fonction)