J3.x

Difference between revisions of "Creating a simple module/Adding Form Fields/fr"

From Joomla! Documentation

< J3.x:Creating a simple module
(Created page with "Dans notre cas, nous allons étendre notre précédent exemple en utilisant la base de données pour fournir une liste de langues à sélectionner par l'utilisateur. Pour ce f...")
(Updating to match new version of source page)
 
(13 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
 
{{J3.x:Creating_a_simple_module/fr}}
 
{{J3.x:Creating_a_simple_module/fr}}
Form fields give a great deal of customisation in Joomla and for modules are the sole way of allowing the user to tweak the module to the needs of their site.
+
Dans Joomla, les champs de formulaire permettent une forte personnalisation et, pour les modules, c'est la seule façon de permettre à l'utilisateur de configurer le module selon les besoin de son site.
  
 +
<div class="mw-translate-fuzzy">
 
== Ajouter des champs de formulaire au module ==
 
== Ajouter des champs de formulaire au module ==
Dans notre cas, nous allons étendre notre précédent exemple en utilisant la base de données pour fournir une liste de langues à sélectionner par l'utilisateur. Pour ce faire, nous allons utiliser  le type de champs de formulaire SQL (des détails complets sont disponibles sur la page [[S:MyLanguage/SQL_form_field_type|Champs de formulaire SQL ]]).
+
</div>
 +
<div class="mw-translate-fuzzy">
 +
Dans notre cas, nous allons étendre notre précédent exemple en utilisant la base de données pour fournir une liste de langues à sélectionner par l'utilisateur. Pour ce faire, nous allons utiliser  le type de champs de formulaire SQL (des détails complets sont disponibles sur la page [[S:MyLanguage/SQL_form_field_type|champs de formulaire SQL ]]).
 +
</div>
  
First of all we are going to add a form field into our xml file. Remember those config tags that we added in earlier? Well now inside these tags we are going to add the following code:
+
<div class="mw-translate-fuzzy">
 +
En premier lieu, nous allons ajouter un champ de formulaire à notre fichier XML. Vous souvenez-vous des balises de configuration que nous avons ajoutées précédemment ? Et bien, maintenant, à l'intérieur de ces balises, nous allons ajouter le code suivant !
 +
</div>
  
 
<source lang="xml">
 
<source lang="xml">
Line 21: Line 27:
 
</source>
 
</source>
  
This selects the languages from the database table and allows the user to choose which one from a select element.
+
<div class="mw-translate-fuzzy">
 +
Cela permet de sélectionner les langues à partir de la table de base de données et permet à l'utilisateur de choisir la langue d'un élément sélectionné.
 +
</div>
  
If you were to install the module as it is now you would see if you were to access the module in the backend of Joomla that a dropdown had appeared (although picking an option won't affect the module at the moment).
+
<div class="mw-translate-fuzzy">
 +
Si vous installiez le module tel qu'il est actuellement, et alliez dans le module en backend, vous pourriez constater qu'une liste déroulante est apparue (même si pour l'instant la sélection d'une option n'a pas d'effet sur le module).
 +
</div>
  
''Note:'' The form field parameters are stored for each module in the #__modules table under the params field as json encoded string.
+
<div class="mw-translate-fuzzy">
 +
''Remarque :'' les paramètres de champs de formulaire pour chaque module sont stockés dans la table #__modules sous le champ params en tant que chaîne de code json.
 +
</div>
  
Now lets make the form field do something!
+
<div class="mw-translate-fuzzy">
 +
Maintenant, faisons faire quelque chose à notre champ !
 +
</div>
  
Lets go into the mod_helloworld.php and retrieve the parameter (note you '''cannot''' retrieve the parameter in the helper), and then pass it into the helper function.
+
<div class="mw-translate-fuzzy">
 +
Allons dans le mod_helloworld.php et récupérons le paramètre (notez vous '''ne''' pouvez '''pas''' récupérer le paramètre dans le helper), puis passons le dans la fonction helper.
 +
</div>
  
 
<source lang="php">
 
<source lang="php">
 
/**
 
/**
 
   * This retrieves the lang parameter we stored earlier. Note the second part
 
   * This retrieves the lang parameter we stored earlier. Note the second part
   * which states to use the default value of 1 if the parameter cannot be
+
   * which assigns the default value of 1 if the parameter cannot be
   * retrieved for some reason
+
   * retrieved for some reason.
 
**/
 
**/
 
$language = $params->get('lang', '1');
 
$language = $params->get('lang', '1');
Line 41: Line 57:
 
</source>
 
</source>
  
Now lets edit our database query in the helper file to reflect our parameter choice.
+
<div class="mw-translate-fuzzy">
 +
Maintenant, modifions notre requête de base dans le fichier helper pour refléter notre choix de paramètre.
 +
</div>
  
 
<source lang="php">
 
<source lang="php">
// Obtain a database connection
+
// Obtain a database connection.
 
$db = JFactory::getDbo();
 
$db = JFactory::getDbo();
// Retrieve the shout - note we are now retrieving the id not the lang field.
+
// Retrieve the shout. Note that we are now retrieving the id not the lang field.
 
$query = $db->getQuery(true)
 
$query = $db->getQuery(true)
 
             ->select($db->quoteName('hello'))
 
             ->select($db->quoteName('hello'))
Line 55: Line 73:
 
// Load the row.
 
// Load the row.
 
$result = $db->loadResult();
 
$result = $db->loadResult();
// Return the Hello
+
// Return the Hello.
 
return $result;
 
return $result;
 
</source>
 
</source>
  
 +
<div class="mw-translate-fuzzy">
 
== Conclusion ==
 
== Conclusion ==
Form fields give the user an easy way to customise the module to their sites settings. This allows the modules scope to be increased as well for many languages and applications.
+
Les champs de formulaire permettent à l'utilisateur de personnaliser facilement un module selon les paramètres de leur site. Cela permet d'augmenter la portée des modules pour de nombreuses langues et applications.
 +
</div>
  
 
<div class="row">  
 
<div class="row">  

Latest revision as of 08:41, 1 April 2020

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎português • ‎русский • ‎中文(台灣)‎
Joomla! 
3.x
Didacticiel
Création d'un module simple

Ceci est une série de plusieurs articles expliquant la façon de développer un module pour Joomla! Version Joomla 3.x. Vous pouvez naviguer dans les articles de cette série à l'aide du menu déroulant.

Commencez par l'Introduction puis naviguez dans les articles de cette série en utilisant soit les boutons de navigation situés en bas des articles, soit le menu droit (Les articles de cette série).




Dans Joomla, les champs de formulaire permettent une forte personnalisation et, pour les modules, c'est la seule façon de permettre à l'utilisateur de configurer le module selon les besoin de son site.

Ajouter des champs de formulaire au module

Dans notre cas, nous allons étendre notre précédent exemple en utilisant la base de données pour fournir une liste de langues à sélectionner par l'utilisateur. Pour ce faire, nous allons utiliser le type de champs de formulaire SQL (des détails complets sont disponibles sur la page champs de formulaire SQL ).

En premier lieu, nous allons ajouter un champ de formulaire à notre fichier XML. Vous souvenez-vous des balises de configuration que nous avons ajoutées précédemment ? Et bien, maintenant, à l'intérieur de ces balises, nous allons ajouter le code suivant !

<fields name="params">
    <fieldset name="basic">
        <field
               name="lang"
               type="sql"
               default="1"
               label="Select a language"
               query="SELECT id AS value, lang FROM #__helloworld" />
    </fieldset>
</fields>

Cela permet de sélectionner les langues à partir de la table de base de données et permet à l'utilisateur de choisir la langue d'un élément sélectionné.

Si vous installiez le module tel qu'il est actuellement, et alliez dans le module en backend, vous pourriez constater qu'une liste déroulante est apparue (même si pour l'instant la sélection d'une option n'a pas d'effet sur le module).

Remarque : les paramètres de champs de formulaire pour chaque module sont stockés dans la table #__modules sous le champ params en tant que chaîne de code json.

Maintenant, faisons faire quelque chose à notre champ !

Allons dans le mod_helloworld.php et récupérons le paramètre (notez vous ne pouvez pas récupérer le paramètre dans le helper), puis passons le dans la fonction helper.

/**
  * This retrieves the lang parameter we stored earlier. Note the second part
  * which assigns the default value of 1 if the parameter cannot be
  * retrieved for some reason.
**/
$language = $params->get('lang', '1');
$hello    = modHelloWorldHelper::getHello( $language );

Maintenant, modifions notre requête de base dans le fichier helper pour refléter notre choix de paramètre.

// Obtain a database connection.
$db = JFactory::getDbo();
// Retrieve the shout. Note that we are now retrieving the id not the lang field.
$query = $db->getQuery(true)
            ->select($db->quoteName('hello'))
            ->from($db->quoteName('#__helloworld'))
            ->where('id = '. $db->Quote($params));
// Prepare the query
$db->setQuery($query);
// Load the row.
$result = $db->loadResult();
// Return the Hello.
return $result;

Conclusion

Les champs de formulaire permettent à l'utilisateur de personnaliser facilement un module selon les paramètres de leur site. Cela permet d'augmenter la portée des modules pour de nombreuses langues et applications.