Développer un filtre

De MoodleDocs
Aller à :navigation, rechercher

Retour à l'index du développement de plugins

Pourquoi développer un filtre ?

Votre besoin est lié essentiellement à une transformation de la présentation, indépendante du contexte où se trouve le contenu (pas de transformation trop contextuelle à telle ou telle variable du contexte de la session de l'utilisateur).

La transformation peut être exprimée simplement, par une fonction capable de traiter le texte d'entrée et de fournir un texte modifié.

Alors vous pouvez en effet développer un filtre.

Localisation et forme du filtre

Un filtre est matérialisé physiquement par un sous-répertoire du répertoire "filter" de la distribution de Moodle.

Ce répertoire doit contenir :

  • un fichier "filter.php" (le code du filtre)
  • un fichier "version.php" (les indicatifs de composant Moodle)
  • un répertoire "lang" pour les chaines de caractères affichables et au moins un sous-répertoire "en" pour les chaines par défaut en anglais.

Ce répertoire peut contenir :

  • un fichier "filtersettings.php" pour le paramétrage du filtre
  • des fichiers php ou javascript accessoires

Modèle fonctionnel du filtre

Un filtre est essentiellement une classe héritée de la classe "moodle_text_filter" et qui contient une méthode unique de filtrage :

  function filter($text, $options){
    ...
    return $text;
  }

Paramétrage

Un filtre peut nécessiter certaines configurations. Ces paramètres peuvent être mis en place dans le fichier 'filtersettings.php' dans le répertoire du filtre.

Le fichier filtersettings.php alimente un tableau "settings" en lui ajoutant des instances d'objets de réglages (classe admin_setting).