Manual:HTML templates/fr

A partir de, MediaWiki peut générer du contenu HTML à partir de modèles Mustache sur le serveur et sur le client. Le modèle d'analyse syntaxique côté serveur est implémenté en PHP via la classe TemplateParser, qui agit comme un conteneur de la bibliothèque lightncandy. Les modèles côté client sont pris en charge par les modules ResourceLoader de   et par la bibliothèque mustache.js.

Créer des modèles
To use HTML templates in your code, first create a Mustache template file with a .mustache file extension, for example, MyWidget.mustache. Templates should contain as little programming logic as possible so that they are easily readable and provide proper separation of concerns. If your template is part of the core MediaWiki software, put it in core's  directory. If it is part of an extension, you should create a dedicated templates directory within your extension's directory to hold it. Templates should follow the Mustache-5 specification.

Classe TemplateParser (côté serveur)
This class finds template files, reads them, compiles them into PHP code, and expands tags in the template using data you provide to produce the output HTML. MediaWiki compile les modèles selon les besoins, et utilise le cache pour les y stocker s'il est disponible (voir #Caching ci-dessous). This avoids developers having to compile templates into PHP files during development or as a build step, or the server writing them to the file system during operation.

Pour utiliser, créez d'abord une nouvelle instance de la classe :

If your Mustache templates do not reside in core's includes/templates, you need to pass the path to where they reside as the first parameter to the constructor (either relative to your MediaWiki root or relative to the calling file's directory with __DIR__):

Ensuite, vous analysez les modèles en HTML en appelant la fonction. Le premier paramètre pour cela est le nom de votre modèle (la partie du nom de fichier avant .mustache). Le second paramètre est un tableau contenant les valeurs utilisées par les balises Mustache de votre modèle. Par exemple,

This replaces any instances of  and   tags in the "MyWidget" mustache template with the values you provided, and returns the resulting HTML. (le  imprime simplement le HTML généré dans le contexte de sortie courant).

Comme exemple de modélisation HTML, voir tel qu'utilisé par.

Mise en cache
TemplateParser essaie de mettre en cache le modèle PHP compilé. It prefers to use  (See ), but falls back to   (a general object cache like Memcached or Redis, see ).

Elements partiels
The cache is keyed on a hash of the template file's contents, so if you change a template file, the compiled template will update (you may need to clear your wiki's front-end cache using ). However, this does not notice changes to "partial" templates that you include with  (bug T113095). So if you change a partial, you need to make cosmetic changes to the parent templates that include it, or restart your cache.

mw.template (côté client)
Pour utiliser un modèle Mustache du côté client, ajoutez le d'abord à votre définition de module :

La définition du modèle ci-dessus est faite de deux parties, un chemin de fichier et un alias optionnel. L'alias doit être suffixé avec le nom du langage de modélisation (par exemple ' ') si bien qu'il connaît le compilateur à utiliser. ResourceLoader dessert automatiquement les modules Javascript  pris en charge, donc vous n'avez rien à spécifier dans. Une fois que vous avez ajouté le modèle à votre module, vous pouvez le récupérer par JavaScript en utilisant :

Pour générer le modèle et les données sous format HTML, appelez la fonction compilée  du modèle.

Elements partiels
Les éléments partiels sont aussi pris en charge du côté client. Voir https://mustache.github.io/mustache.5.html#Partials pour plus d'informations.

Voir aussi

 * Requests for comment/HTML templating library