Comment placer un module dans un article ?

From Joomla! Documentation

Revision as of 04:18, 13 March 2023 by Ceford (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎português do Brasil • ‎中文(台灣)‎
Joomla! 
≥ 2.5
série

Habituellement vous souhaiterez associer des modules à des articles d'une certaine façon. Les modules sont assignés à des positions de module et la position de module permet de le faire apparaître sur la page Web en fonction des possibilités proposées par le template. Cependant, il est parfois utile qu'un module soit directement intégré au sein de l'article. Joomla! propose nativement deux façons de le faire : loadposition et loadmodule.

Syntaxe :

  • {loadposition position,[style]}
  • {loadmodule mod_type,the title,[style]}
  • {loadmoduleid moduleId}

loadposition

Pour insérer un module dans un article, vous devez publier le module en lui assignant une position et charger cette position dans l'article comme suit :

  1. Créez un module et définir sa position comme étant myposition. myposition peut être n'importe quelle valeur qui n'entre pas en conflit avec une position de module déjà existante dans le template. Au lieu de sélectionner une position dans la liste déroulante, renseignez dans le champ position myposition et appuyez sur entrer.
  2. Assignez le module à Tous les éléments de menu. Cela permettra de s'assurer qu'il apparaît toujours quelque soit la façon dont le visiteur aura atteint l'article. Le module n’apparaîtra pas tant que vous n'aurez pas placé la commande permettant de charger le module dans un article.
  3. Modifiez les articles sur lesquels vous souhaitez voir apparaître le module et insérez le texte {loadposition myposition} dans l'article, à l'endroit où vous voulez que le module soit placé.

loadmodule

Une alternative à la technique "{loadposition xx}" est la variante "{loadmodule yyy}" qui est gérée par le même plugin.

Dans ce cas, le plugin va rechercher le premier module dont le type correspondra à la chaîne de caractères : 'yyy'. Ainsi, vous pouvez charger un module "mod_login" en plaçant {loadmodule mod_login} dans votre texte. Si vous souhaitez charger une instance spécifique d'un module, parce que vous avez, par exemple, différents modules de connexion comme Login 1, Login 2, etc. vous devez alors utiliser {loadmodule mod_modType,modTitle} avec mod_modType égal à mod_login et modTitle le nom/titre de votre instance de ce module. Dans l'exemple ci-dessus, vous insérez {loadmodule mod_login, Login 2} pour que le module intitulé Login 2 soit affiché. Vous pouvez également ajouter un style de rendu du module. Pour ce faire, ajoutez le style comme troisième paramètre comme dans {loadmodule login,Login 2,xhtml}. Si vous n'ajoutez aucun paramètre, le style "none" sera utilisé.

loadmoduleid

Since Joomla! version 3.9.0 an alternative to {loadposition xx} and {loadmodule yyy} is the variation {loadmoduleid z} which is handled by the same plugin.

In this case the plugin looks for the module who's id matches the number z. So you could load the module with id 200 by placing {loadmoduleid 200} in your text. This variant does not "understand" additional parameters like the style parameter.

Editor Button (since Joomla! version 3.5)

If the editor-xtd plugin "Button - Module" is activated you can use the editor button "Module" to insert above described tags more easily into the editor text. Since Joomla! 3.9 also the loadmouleid variant.

Les modules dans les modules

Il est possible dans Joomla! 2.5+ et Joomla! 3.x+ d'inclure un module à l'intérieur même d'un module "Contenu personnalisé" en utilisant la même technique des plugins de contenu pour l'intégration dans un article.

Pour ce faire, l'option Plug-ins de contenu doit être activée comme le montre cette capture d'écran.

Afficher l'option de Plug-ins de contenu d'un module de Contenu personnalisé.

Vous devez vous rappeler que lorsque vous faites ceci, vous pouvez rencontrer des problèmes de mise en forme car le "chrome" de votre module "Contenu personnalisé" se superposera au "chrome" du module intégré, engendrant des effets indésirables quant à la mise en forme ou la mise en page.