<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shim-sao</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Shim-sao"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Shim-sao"/>
	<updated>2026-05-15T19:26:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893506</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893506"/>
		<updated>2022-03-18T11:33:37Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893505</id>
		<title>Translations:Subform form field type/18/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893505"/>
		<updated>2022-03-18T11:33:36Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;multiple&#039;&#039;&#039; (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/17/fr&amp;diff=893504</id>
		<title>Translations:Subform form field type/17/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/17/fr&amp;diff=893504"/>
		<updated>2022-03-18T11:33:28Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893503</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893503"/>
		<updated>2022-03-18T11:33:10Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;br /&gt;
&#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;multiple&#039;&#039;&#039; (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893502</id>
		<title>Translations:Subform form field type/18/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893502"/>
		<updated>2022-03-18T11:32:56Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;multiple&#039;&#039;&#039; (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893501</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893501"/>
		<updated>2022-03-18T11:32:41Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;multiple&amp;#039;&amp;#039;&amp;#039; multiple (facultatif) si les champs du sous-formulaire sont répétables ou non.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;br /&gt;
&#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
&#039;&#039;&#039;multiple&#039;&#039;&#039; multiple (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893500</id>
		<title>Translations:Subform form field type/18/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/18/fr&amp;diff=893500"/>
		<updated>2022-03-18T11:32:38Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;multiple&amp;#039;&amp;#039;&amp;#039; multiple (facultatif) si les champs du sous-formulaire sont répétables ou non.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;multiple&#039;&#039;&#039; multiple (facultatif) si les champs du sous-formulaire sont répétables ou non.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893499</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=893499"/>
		<updated>2022-03-18T11:31:19Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;formsource&amp;#039;&amp;#039;&amp;#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de form...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;br /&gt;
&#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/17/fr&amp;diff=893498</id>
		<title>Translations:Subform form field type/17/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/17/fr&amp;diff=893498"/>
		<updated>2022-03-18T11:31:13Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;formsource&amp;#039;&amp;#039;&amp;#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de form...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;formsource&#039;&#039;&#039; (obligatoire) la source du formulaire à inclure. Un chemin relatif vers le fichier xml (relatif au dossier racine du site Joomla installé) ou un nom de formulaire valide qui peut être trouvé par &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892515</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892515"/>
		<updated>2022-03-14T16:12:28Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;* &amp;#039;&amp;#039;&amp;#039;default&amp;#039;&amp;#039;&amp;#039; (facultatif) est la valeur par défaut, chaîne JSON.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/16/fr&amp;diff=892514</id>
		<title>Translations:Subform form field type/16/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/16/fr&amp;diff=892514"/>
		<updated>2022-03-14T16:12:25Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;* &amp;#039;&amp;#039;&amp;#039;default&amp;#039;&amp;#039;&amp;#039; (facultatif) est la valeur par défaut, chaîne JSON.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;default&#039;&#039;&#039; (facultatif) est la valeur par défaut, chaîne JSON.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892513</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892513"/>
		<updated>2022-03-14T16:11:12Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&amp;#039;exemple suivant illustre cela :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/44/fr&amp;diff=892512</id>
		<title>Translations:Subform form field type/44/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/44/fr&amp;diff=892512"/>
		<updated>2022-03-14T16:11:03Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&amp;#039;exemple suivant illustre cela :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le sous-formulaire XML peut également être spécifié en ligne au lieu de placer le sous-formulaire XML dans un fichier séparé. L&#039;exemple suivant illustre cela :&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892511</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892511"/>
		<updated>2022-03-14T16:10:12Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/8/fr&amp;diff=892510</id>
		<title>Translations:Subform form field type/8/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/8/fr&amp;diff=892510"/>
		<updated>2022-03-14T16:10:09Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;fieldsets&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892509</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892509"/>
		<updated>2022-03-14T16:08:04Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple XML de &amp;#039;&amp;#039;exampleform.xml&amp;#039;&amp;#039; avec des &amp;#039;&amp;#039;ensembles de champs&amp;#039;&amp;#039;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;ensembles de champs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/8/fr&amp;diff=892508</id>
		<title>Translations:Subform form field type/8/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/8/fr&amp;diff=892508"/>
		<updated>2022-03-14T16:07:57Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple XML de &amp;#039;&amp;#039;exampleform.xml&amp;#039;&amp;#039; avec des &amp;#039;&amp;#039;ensembles de champs&amp;#039;&amp;#039;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un exemple XML de &#039;&#039;exampleform.xml&#039;&#039; avec des &#039;&#039;ensembles de champs&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892507</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892507"/>
		<updated>2022-03-14T16:06:22Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Exemple XML de &amp;#039;&amp;#039;exampleform.xml&amp;#039;&amp;#039;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/7/fr&amp;diff=892506</id>
		<title>Translations:Subform form field type/7/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/7/fr&amp;diff=892506"/>
		<updated>2022-03-14T16:06:15Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Exemple XML de &amp;#039;&amp;#039;exampleform.xml&amp;#039;&amp;#039;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemple XML de &#039;&#039;exampleform.xml&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892505</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892505"/>
		<updated>2022-03-14T16:05:12Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple de définition de &amp;#039;&amp;#039;&amp;#039;champ&amp;#039;&amp;#039;&amp;#039; XML pour le mode &amp;#039;&amp;#039;&amp;#039;multiple&amp;#039;&amp;#039;&amp;#039; :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example XML of &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/6/fr&amp;diff=892504</id>
		<title>Translations:Subform form field type/6/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/6/fr&amp;diff=892504"/>
		<updated>2022-03-14T16:04:52Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple de définition de &amp;#039;&amp;#039;&amp;#039;champ&amp;#039;&amp;#039;&amp;#039; XML pour le mode &amp;#039;&amp;#039;&amp;#039;multiple&amp;#039;&amp;#039;&amp;#039; :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;multiple&#039;&#039;&#039; :&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892503</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892503"/>
		<updated>2022-03-14T16:04:22Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple de définition de &amp;#039;&amp;#039;&amp;#039;champ&amp;#039;&amp;#039;&amp;#039; XML pour le mode &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039; :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;multiple&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example XML of &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/5/fr&amp;diff=892502</id>
		<title>Translations:Subform form field type/5/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/5/fr&amp;diff=892502"/>
		<updated>2022-03-14T16:04:20Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Un exemple de définition de &amp;#039;&amp;#039;&amp;#039;champ&amp;#039;&amp;#039;&amp;#039; XML pour le mode &amp;#039;&amp;#039;&amp;#039;unique&amp;#039;&amp;#039;&amp;#039; :&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Un exemple de définition de &#039;&#039;&#039;champ&#039;&#039;&#039; XML pour le mode &#039;&#039;&#039;unique&#039;&#039;&#039; :&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892501</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892501"/>
		<updated>2022-03-14T16:01:48Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &amp;#039;&amp;#039;&amp;#039;tableau&amp;#039;&amp;#039;&amp;#039; ou de conteneur &amp;#039;&amp;#039;&amp;#039;div&amp;#039;&amp;#039;&amp;#039;, ainsi que la prise en charge des mises en...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;single&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;multiple&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example XML of &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/3/fr&amp;diff=892500</id>
		<title>Translations:Subform form field type/3/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/3/fr&amp;diff=892500"/>
		<updated>2022-03-14T16:01:47Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &amp;#039;&amp;#039;&amp;#039;tableau&amp;#039;&amp;#039;&amp;#039; ou de conteneur &amp;#039;&amp;#039;&amp;#039;div&amp;#039;&amp;#039;&amp;#039;, ainsi que la prise en charge des mises en...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le champ a deux mises en page &amp;quot;prédéfinies&amp;quot; pour afficher le sous-formulaire sous forme de &#039;&#039;&#039;tableau&#039;&#039;&#039; ou de conteneur &#039;&#039;&#039;div&#039;&#039;&#039;, ainsi que la prise en charge des mises en page personnalisées.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892499</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892499"/>
		<updated>2022-03-14T15:59:30Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Si l&amp;#039;attribut multiple est défini sur &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;, le formulaire inclus sera &amp;#039;&amp;#039;&amp;#039;répétable&amp;#039;&amp;#039;&amp;#039;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The Field has two &amp;quot;predefined&amp;quot; layouts for displaying the subform as either a &#039;&#039;&#039;table&#039;&#039;&#039; or as a &#039;&#039;&#039;div&#039;&#039;&#039; container, as well as support for custom layouts.&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;single&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;multiple&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example XML of &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/2/fr&amp;diff=892498</id>
		<title>Translations:Subform form field type/2/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/2/fr&amp;diff=892498"/>
		<updated>2022-03-14T15:59:25Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Si l&amp;#039;attribut multiple est défini sur &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;, le formulaire inclus sera &amp;#039;&amp;#039;&amp;#039;répétable&amp;#039;&amp;#039;&amp;#039;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si l&#039;attribut multiple est défini sur &#039;&#039;&#039;true&#039;&#039;&#039;, le formulaire inclus sera &#039;&#039;&#039;répétable&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892497</id>
		<title>Subform form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Subform_form_field_type/fr&amp;diff=892497"/>
		<updated>2022-03-14T15:58:19Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le type de champ de formulaire de &amp;#039;&amp;#039;&amp;#039;sous-formulaire&amp;#039;&amp;#039;&amp;#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un f...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;br /&gt;
If attribute &#039;&#039;&#039;multiple&#039;&#039;&#039; is set to &#039;&#039;&#039;true&#039;&#039;&#039; then the included form will be &#039;&#039;&#039;repeatable&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The Field has two &amp;quot;predefined&amp;quot; layouts for displaying the subform as either a &#039;&#039;&#039;table&#039;&#039;&#039; or as a &#039;&#039;&#039;div&#039;&#039;&#039; container, as well as support for custom layouts.&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;single&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML &#039;&#039;&#039;field&#039;&#039;&#039; definition for &#039;&#039;&#039;multiple&#039;&#039;&#039; mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;field-name&amp;quot; type=&amp;quot;subform&amp;quot;&lt;br /&gt;
    formsource=&amp;quot;path/to/exampleform.xml&amp;quot; multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
    label=&amp;quot;Subform Field&amp;quot; description=&amp;quot;Subform Field Description&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example XML of &#039;&#039;exampleform.xml&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An example XML of &#039;&#039;exampleform.xml&#039;&#039; with &#039;&#039;fieldsets&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;form&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section1&amp;quot; label=&amp;quot;Section1&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_text&amp;quot; type=&amp;quot;text&amp;quot; label=&amp;quot;Example Text&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_textarea&amp;quot; type=&amp;quot;textarea&amp;quot; label=&amp;quot;Example Textarea&amp;quot; cols=&amp;quot;40&amp;quot; rows=&amp;quot;8&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
    &amp;lt;fieldset name=&amp;quot;section2&amp;quot; label=&amp;quot;Section2&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;field name=&amp;quot;example_list&amp;quot; type=&amp;quot;list&amp;quot; default=&amp;quot;1&amp;quot; class=&amp;quot;advancedSelect&amp;quot; label=&amp;quot;Example List&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
            &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
        &amp;lt;/field&amp;gt;&lt;br /&gt;
    &amp;lt;/fieldset&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The subform XML may also be specified inline as an alternative to placing the subform XML in a separate file.  The following example illustrates this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
	name=&amp;quot;field-name&amp;quot;&lt;br /&gt;
	type=&amp;quot;subform&amp;quot;&lt;br /&gt;
	label=&amp;quot;Subform Field&amp;quot;&lt;br /&gt;
	description=&amp;quot;Subform Field Description&amp;quot;&lt;br /&gt;
	multiple=&amp;quot;true&amp;quot;&lt;br /&gt;
	min=&amp;quot;1&amp;quot;&lt;br /&gt;
	max=&amp;quot;10&amp;quot;&lt;br /&gt;
	&amp;gt;&lt;br /&gt;
	&amp;lt;form&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_text&amp;quot;&lt;br /&gt;
			type=&amp;quot;text&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Text&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
		&amp;lt;field&lt;br /&gt;
			name=&amp;quot;example_textarea&amp;quot;&lt;br /&gt;
			type=&amp;quot;textarea&amp;quot;&lt;br /&gt;
			label=&amp;quot;Example Textarea&amp;quot;&lt;br /&gt;
			cols=&amp;quot;40&amp;quot;&lt;br /&gt;
			rows=&amp;quot;8&amp;quot;&lt;br /&gt;
			/&amp;gt;&lt;br /&gt;
	&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attributs de champ :&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;subform&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;required&#039;&#039;&#039; (requis) (facultatif) le champ doit être complété avant la soumission du formulaire.&lt;br /&gt;
* &#039;&#039;&#039;message&#039;&#039;&#039; (facultatif) le message d&#039;erreur qui sera affiché à la place du message par défaut.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (optional) is the default value, JSON string.&lt;br /&gt;
* &#039;&#039;&#039;formsource&#039;&#039;&#039; (mandatory) the form source to be included. A relative path to the xml file (relative to the root folder for the installed Joomla site) or a valid form name which can be found by &#039;&#039;JForm::getInstance()&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;multiple&#039;&#039;&#039; (optional) whether the subform fields are repeatable or not.&lt;br /&gt;
* &#039;&#039;&#039;min&#039;&#039;&#039; (optional) count of minimum repeating in multiple mode. Default: &#039;&#039;0&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;max&#039;&#039;&#039; (optional) count of maximum repeating in multiple mode. Default: &#039;&#039;1000&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;groupByFieldset&#039;&#039;&#039; (optional) whether to group the subform fields by its fieldset (&#039;&#039;true&#039;&#039; or &#039;&#039;false&#039;&#039;). Default: &#039;&#039;false&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;buttons&#039;&#039;&#039; (optional) which buttons to show in multiple mode. Default: &#039;&#039;add,remove,move&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;layout&#039;&#039;&#039; (optional) the name of the layout to use when displaying &#039;&#039;&#039;subform&#039;&#039;&#039; fields.&lt;br /&gt;
* &#039;&#039;&#039;validate&#039;&#039;&#039; (optional) should be set to &#039;&#039;SubForm&#039;&#039; (note that this is case-sensitive!) to ensure that fields in the subform are individually validated.  Default: Fields in the subform are not validated, even if validation rules are specified.&lt;br /&gt;
&lt;br /&gt;
Mises en page disponibles :&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.default&#039;&#039;&#039; render the subform in a div container, without support of repeating. Default for single mode.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable&#039;&#039;&#039; render the subform in a div container, used for multiple mode. Support groupByFieldset.&lt;br /&gt;
* &#039;&#039;&#039;joomla.form.field.subform.repeatable-table&#039;&#039;&#039; render the subform as a table, used for multiple mode. Supports groupByFieldset. By default each field is rendered as a table column, but if &#039;&#039;groupByFieldset=true&#039;&#039; then each fieldset is rendered as a table column.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Attention&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If your field in the subform has additional JavaScript logic then it may not work in &#039;&#039;&#039;multiple&#039;&#039;&#039; mode, because do not see the fields which added by the subform field dynamically. If it happened then you need to adjust your field to support it.&lt;br /&gt;
L&#039;exemple suivant devrait pouvoir vous aider :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    ... here the code for setup your field as usual...&lt;br /&gt;
&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        ... here is the code to set up the fields in the new row ...&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because of this some extra Joomla! fields may not work for now.&lt;br /&gt;
&lt;br /&gt;
==Fields Validation and Filters==&lt;br /&gt;
The subform form field does not provide the Validation and Filters for child fields.&lt;br /&gt;
&lt;br /&gt;
Addition: Since a security fix in Joomla 3.9.7 the &amp;lt;code&amp;gt;filter=&amp;quot;example&amp;quot;&amp;lt;/code&amp;gt; attributes in subform child fields are supported and the fields will be validated; &#039;&#039;&#039;but NOT&#039;&#039;&#039; in custom form fields that extend the &amp;lt;code&amp;gt;JFormFieldSubform&amp;lt;/code&amp;gt; class. You have to adapt such custom fields yourself!&lt;br /&gt;
===Beware!===&lt;br /&gt;
&#039;&#039;&#039;All extensions that use subform fields MUST add an attribute &amp;lt;code&amp;gt;filter&amp;lt;/code&amp;gt; to their subform child fields of type &amp;lt;code&amp;gt;editor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;textarea&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; (maybe others, too) since Joomla 3.9.7 like it&#039;s common for &amp;quot;normal&amp;quot; JForm fields, if you want to allow HTML input. Otherwise the validation falls back to STRING, which is the common behavior for &amp;quot;normal&amp;quot; JForm fields.&#039;&#039;&#039;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
filter=&amp;quot;safehtml&amp;quot;&lt;br /&gt;
filter=&amp;quot;JComponentHelper::filterText&amp;quot;&lt;br /&gt;
filter=&amp;quot;raw&amp;quot; (bad decision in most cases)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exemple==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problème &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After adding new rows selects are not &amp;quot;chosen&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Here is an example how to reinit jQuery Chosen on newly added repeated rows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;javascript&amp;quot;&amp;gt;jQuery(document).ready(function(){&lt;br /&gt;
    jQuery(document).on(&#039;subform-row-add&#039;, function(event, row){&lt;br /&gt;
        jQuery(row).find(&#039;select&#039;).chosen();&lt;br /&gt;
    })&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or a PHP snippet to be used in e.g. your plugin in **onBeforeCompileHead** method or in your component view.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$doc = JFactory::getDocument();&lt;br /&gt;
$js = &#039;&lt;br /&gt;
	jQuery(document).on(\&#039;subform-row-add\&#039;, function(event, row){&lt;br /&gt;
		jQuery(row).find(\&#039;select\&#039;).chosen();&lt;br /&gt;
	})&lt;br /&gt;
&#039;;&lt;br /&gt;
$doc-&amp;gt;addScriptDeclaration($js);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
So newly added rows now are &amp;quot;chosen&amp;quot; now &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Subform data not getting stored to database on custom component.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following line to the beginning of your corresponding table class:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
protected $_jsonEncode = array(&#039;fieldnamehere&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More information [https://joomla.stackexchange.com/questions/19163/subform-multiple-data-not-saving Here].&lt;br /&gt;
&lt;br /&gt;
==Voir également==&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaires standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Standard form field types{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/1/fr&amp;diff=892496</id>
		<title>Translations:Subform form field type/1/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Subform_form_field_type/1/fr&amp;diff=892496"/>
		<updated>2022-03-14T15:58:17Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Le type de champ de formulaire de &amp;#039;&amp;#039;&amp;#039;sous-formulaire&amp;#039;&amp;#039;&amp;#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un f...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le type de champ de formulaire de &#039;&#039;&#039;sous-formulaire&#039;&#039;&#039; fournit une méthode pour utiliser des formulaires XML les uns dans les autres ou réutiliser des formulaires dans un formulaire existant.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=891662</id>
		<title>Standard form field types/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=891662"/>
		<updated>2022-03-11T15:01:11Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
De nombreux types de [[S:MyLanguage/form field|champs de formulaires]] sont disponibles dans Joomla. Le tableau ci-dessous dresse la liste de ces types standards ainsi que leur disponibilité. Veuillez utiliser la [[S:MyLanguage/Standard_form_field_types/Single-page_reference|page de références]] si vous souhaitez imprimer la documentation sur l&#039;ensemble des champs de formulaires existants.&lt;br /&gt;
&lt;br /&gt;
Pour les versions {{JVer|1.5}}. Veuillez noter que plusieurs de ces champs sont disponibles en tant que [[S:MyLanguage/Parameter|types de paramètres]] pour Joomla! 1.5. Pour une liste des types de paramètres, veuillez consulter [[S:MyLanguage/J1.5:Standard parameter types|les types de paramètres standards pour Joomla! 1.5]]. Pour une comparaison entre les champs et les types de paramètres, veuillez consulter [[S:MyLanguage/Standard form field and parameter types|les champs de formulaires standards et les types de paramètres]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:top; border:1px solid Sienna; background-color:Cornsilk;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:Wheat; font-weight:bold; text-align: left;&amp;quot;&lt;br /&gt;
!width=15%|Type&lt;br /&gt;
!width=65%|Description&lt;br /&gt;
!width=20%|Disponibilité&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accessiblemedia form field type|accessiblemedia]]&lt;br /&gt;
|fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs disposant des autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;br /&gt;
|{{JVer|4.0}} et suivant&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accesslevel form field type|accesslevel]]&lt;br /&gt;
|fournit une liste déroulante de visualisation des niveaux d&#039;accès.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Cachehandler form field type|cachehandler]]&lt;br /&gt;
|fournit une liste d&#039;options de mise en cache disponibles.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Calendar form field type|calendar]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;une date. Une icône à côté de la zone de texte fournit un lien vers un calendrier en fenêtre modale, qui peut également être utilisé pour entrer la valeur de la date.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Captcha form field type|captcha]]&lt;br /&gt;
|Permet l&#039;utilisation d&#039;un plugin captcha.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Category form field type|category]]&lt;br /&gt;
|fournit une liste déroulante des catégories pour une extension.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkbox form field type|checkbox]]&lt;br /&gt;
|fournit une case simple à cocher ou décocher.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkboxes form field type|checkboxes]]&lt;br /&gt;
|fournit un nombre illimité de cases à cocher qui peuvent être utilisées pour les multi-sélections.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ChromeStyle form field type|Chrome Style]]&lt;br /&gt;
|fournit une liste des templates avec options de style chrome regroupés par templates.&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Color form field type|color]]&lt;br /&gt;
|fournit un sélecteur de couleur en cliquant dans la zone de saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ContentLanguage form field type|Content Language]]&lt;br /&gt;
|fournit une liste des langues de contenu.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contenttype form field type|Content Type]]&lt;br /&gt;
|fournit une liste des types de contenu.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Combo form field type|combo]]&lt;br /&gt;
|fournit une un ensemble de champs cases.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Componentlayout form field type|componentlayout]]&lt;br /&gt;
|fournit une liste regroupant des templates et d&#039;affichages natifs alternatifs pour un élément de composant.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contentlanguage form field type|contentlanguage]]&lt;br /&gt;
|fournit une liste de langues de contenu installées pour une utilisation avec le plugin de sélection des langues.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/DatabaseConnection form field type|Database Connection]]&lt;br /&gt;
|fournit une liste de connexions à la base de données disponible, éventuellement en limitant à une liste donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editor form field type|editor]]&lt;br /&gt;
|fournit un champ de zone de texte pour l&#039;éditeur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editors form field type|editors]]&lt;br /&gt;
|fournit une liste déroulante des éditeurs WYSIWYG disponibles. Depuis la version {{JVer|2.5}}, il convient d&#039;utiliser à la place les [[S:MyLanguage/Plugins form field type|plugins de types de champs de formulaire]].&lt;br /&gt;
|{{JVer|1.6}}&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Email form field type|email]]&lt;br /&gt;
|fournit un champ de courriel.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/File form field type|file]]&lt;br /&gt;
|fournit un champ de saisie pour les fichiers.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Filelist form field type|filelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Folderlist form field type|folderlist]]&lt;br /&gt;
|fournit une liste déroulante des dossiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Groupedlist form field type|groupedlist]]&lt;br /&gt;
|fournit une liste déroulante d&#039;éléments organisés en groupes.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/HeaderTag form field type|header tag]]&lt;br /&gt;
|fournit une liste déroulante des balises de titre (h1-h6).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Helpsite form field type|helpsite]]&lt;br /&gt;
|fournit une liste déroulante des sites d&#039;aide pour votre installation Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Hidden form field type|hidden]]&lt;br /&gt;
|fournit un champ caché pour l&#039;enregistrement d&#039;un champ de formulaire dont la valeur ne peut pas être modifiée directement par un utilisateur dans l&#039;administration (elle peut être modifiée dans le code ou par modification du fichier &amp;quot;params.ini&amp;quot;).&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Imagelist form field type|imagelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers image d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Integer form field type|integer]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entiers compris entre un minimum et un maximum.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Language form field type|language]]&lt;br /&gt;
|fournit une liste déroulante des langues installées pour le frontend ou le backend.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/List form field type|list]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entrées personnalisées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Media form field type|media]]&lt;br /&gt;
|fournit un accès en modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec chargement par les utilisateurs disposant des autorisations appropriées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menu form field type|menu]]&lt;br /&gt;
|fournit une liste déroulante des menus disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menuitem form field type|Menu Item]]&lt;br /&gt;
|fournit une liste déroulante des éléments de menu disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[Meter form field type|meter]]&lt;br /&gt;
|fournit un compteur pour afficher la valeur dans une plage.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Modulelayout form field type|Module Layout]]&lt;br /&gt;
|fournit une liste d&#039;affichages alternatifs pour un groupe de modules natifs et de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleOrder form field type|Module Order]]&lt;br /&gt;
|fournit une liste déroulante pour définir les modules d&#039;une position donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModulePosition form field type|Module Position]]&lt;br /&gt;
|fournit une zone de texte pour définir la position d&#039;un module.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleTag form field type|Module Tag]]&lt;br /&gt;
|fournit une liste des éléments HTML5 (utilisé pour l&#039;intégration de module dans une fenêtre).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Note form field type|note]]&lt;br /&gt;
|fournit un champ texte d&#039;une ligne.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Number form field type|number]]&lt;br /&gt;
|fournit une zone de texte d&#039;une ligne avec un champ déroulant de chiffres pour définir le champ.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Password form field type|password]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;un mot de passe. Les caractères du mot de passe seront masqués lors de la saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Plugins form field type|plugins]]&lt;br /&gt;
|fournit une liste de plugins à partir d&#039;un dossier donné.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Predefined List form field type|predefinedlist]]&lt;br /&gt;
|Champ de formulaire pour charger une liste de valeurs prédéfinies.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Radio form field type|radio]]&lt;br /&gt;
|fournit des boutons radio pour sélectionner différentes options.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Range form field type|range]]&lt;br /&gt;
|fournit une barre de défilement horizontale pour spécifier une valeur dans une plage donnée.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Repeatable form field type|repeatable]]&lt;br /&gt;
|autorise les champs de formulaire proposant autant d&#039;options que souhaitées par l&#039;utilisateur.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Rules form field type|rules]]&lt;br /&gt;
|fournit une matrice de groupe par options d&#039;action pour la gestion des contrôles d&#039;accès. L&#039;affichage dépend du contexte.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Sessionhandler form field type|sessionhandler]]&lt;br /&gt;
|fournit une liste déroulante de gestionnaire des options de session.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Spacer form field type|spacer]]&lt;br /&gt;
|fournit un séparateur visible entre les champs de formulaire. Ceci est simplement une aide visuelle et aucune valeur n&#039;est enregistrée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/SQL form field type|sql]]&lt;br /&gt;
|fournit une liste déroulante des entrées obtenues par l&#039;exécution d&#039;une requête dans la base de données Joomla. La première colonne de résultats retournée par la requête fournit les valeurs de la liste déroulante.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/subform form field type|subform]]&lt;br /&gt;
|Permet l&#039;utilisation des formulaires XML à l’intérieur les uns des autres ou de réutiliser vos formulaires existants à l’intérieur de vos propres formulaires.&lt;br /&gt;
|{{JVer|3.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tag form field type|tag]]&lt;br /&gt;
|fournit un point d&#039;entrée pour les balises (AJAX ou imbriquées).&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tel form field type|tel]]&lt;br /&gt;
|fournit un champ de saisie pour numéro de téléphone.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Templatestyle form field type|templatestyle]]&lt;br /&gt;
|fournit une liste déroulante des styles de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Text form field type|text]]&lt;br /&gt;
|fournit une zone de texte pour la saisie des données.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Textarea form field type|textarea]]&lt;br /&gt;
|fournit une zone de texte pour la saisie de texte en multi-ligne.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Timezone form field type|timezone]]&lt;br /&gt;
|fournit une liste déroulante des fuseaux horaires.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/URL form field type|URL]]&lt;br /&gt;
|fournit un champ de saisie d&#039;URL.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User form field type|user]]&lt;br /&gt;
|Champ pour sélectionner un utilisateur à partir d&#039;une liste modale. Affiche le nom d&#039;utilisateur et stocke l&#039;ID d&#039;utilisateur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/UserActive form field type|useractive]]&lt;br /&gt;
|fournit une liste des utilisateurs actifs. &lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Usergroup form field type|usergroup]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Depuis la version {{JVer|3.2}}, il convient d&#039;utiliser à la place &#039;[[S:MyLanguage/User Group List form field type|usergrouplist]]&#039;.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User Group List form field type|usergrouplist]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Remplace le type de champ de formulaire &#039;usergroup&#039;.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User State form field type|userstate]]&lt;br /&gt;
|Champ pour charger une liste des statuts utilisateurs disponibles.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Form fields/fr|Champs de formulaires]]&lt;br /&gt;
[[Category:Development Reference/fr|Références pour le développement]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Filelist_form_field_type/fr&amp;diff=890517</id>
		<title>Filelist form field type/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Filelist_form_field_type/fr&amp;diff=890517"/>
		<updated>2022-03-09T11:01:31Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Le type de champ de formulaire &#039;&#039;&#039;filelist&#039;&#039;&#039; fournit une liste déroulante de fichiers d&#039;un dossier spécifique. Si le champ a une valeur enregistrée, cette option est sélectionnée lors du premier chargement de la page. Sinon, la valeur par défaut (le cas échéant) est sélectionnée.&lt;br /&gt;
[[Image:Params.filelist.jpg|right]]&lt;br /&gt;
Par défaut, le premier élément de la liste est &#039;- Ne pas utiliser -&#039; (traduisible) et a pour valeur &#039;-1&#039; et suivi par &#039;- Utiliser par défaut -&#039; (traduisible) avec pour valeur &#039;0&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; (obligatoire) doit être &amp;quot;filelist&amp;quot;.&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039; (nom) (obligatoire) est le nom unique du champ.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039; (étiquette) (obligatoire) (traduisible) est le titre descriptif du champ.&lt;br /&gt;
* &#039;&#039;&#039;directory&#039;&#039;&#039; (répertoire) (facultatif) est le chemin du fichier système d&#039;accès au répertoire contenant les fichiers devant être listés. Si omis, le répertoire donné par JPATH_ROOT sera utilisé.&lt;br /&gt;
* &#039;&#039;&#039;default&#039;&#039;&#039; (par défaut) (facultatif) est le nom de fichier par défaut.&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; (facultatif) (traduisible) est le texte qui s&#039;affichera dans une info-bulle lorsque l&#039;utilisateur passe sa souris sur la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;filter&#039;&#039;&#039; ({{JVer | 3.x }}) or &#039;&#039;&#039;fileFilter&#039;&#039;&#039; ({{JVer | 4.0 }} et suivant) (facultatif) est une expression régulière qui est utilisé pour filtrer la liste des fichiers sélectionnés pour inclusion dans la liste déroulante. Si ce paramètre est omis, tous les fichiers du répertoire sont inclus. L&#039;argument du filtre est appliquée avant l&#039;argument d&#039;exclusion. Pour plus d&#039;informations sur la construction des expressions régulières, veuillez consulter : [[S:MyLanguage/Regular expressions in parameter arguments|Les expressions régulières dans les arguments]].&lt;br /&gt;
* &#039;&#039;&#039;exclude&#039;&#039;&#039; (facultatif) est une expression régulière qui est utilisée pour exclure des fichiers de la liste. L&#039;argument &#039;exclude&#039; est appliqué après l&#039;argument &#039;filter&#039;. Pour plus d&#039;informations sur la construction des expressions régulières, veuillez consulter : [[S:MyLanguage/Regular expressions in parameter arguments|Les expressions régulières dans les arguments]].&lt;br /&gt;
* &#039;&#039;&#039;stripext&#039;&#039;&#039; (facultatif) est un argument booléen. Si la valeur est &#039;true&#039;, alors les extensions des noms de fichiers seront supprimés de la liste des noms de fichiers. Notez également que le nom de fichier sera enregistré également sans l&#039;extension.&lt;br /&gt;
* &#039;&#039;&#039;hide_none&#039;&#039;&#039; (facultatif) est un argument booléen. Si la valeur est &#039;true&#039;, l&#039;élément &#039;- None Selected -&#039; est exclu de la liste déroulante.&lt;br /&gt;
* &#039;&#039;&#039;hide_default&#039;&#039;&#039; (facultatif) est un argument booléen. Si la valeur est &#039;true&#039;, l&#039;élément &#039;- Use default -&#039; est exclu de la liste déroulante.&lt;br /&gt;
&lt;br /&gt;
Exemple de définition de champ XML :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;field name=&amp;quot;myfile&amp;quot; type=&amp;quot;filelist&amp;quot; default=&amp;quot;&amp;quot; label=&amp;quot;Select a file&amp;quot; description=&amp;quot;&amp;quot; directory=&amp;quot;administrator&amp;quot; filter=&amp;quot;&amp;quot; exclude=&amp;quot;&amp;quot; stripext=&amp;quot;&amp;quot; /&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Voir également===&lt;br /&gt;
* [[S:MyLanguage/Folderlist form field type|Type de champ de formulaire folderlist]]&lt;br /&gt;
* [[S:MyLanguage/Imagelist form field type|Type de champ de formulaire imagelist]]&lt;br /&gt;
* [[S:MyLanguage/Standard form field types|Liste des types de champ de formulaire standards]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;[[Category:Standard form field types/fr|Types de champ de formulaire standard]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Filelist_form_field_type/9/fr&amp;diff=890458</id>
		<title>Translations:Filelist form field type/9/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Filelist_form_field_type/9/fr&amp;diff=890458"/>
		<updated>2022-03-09T10:58:59Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &#039;&#039;&#039;filter&#039;&#039;&#039; ({{JVer | 3.x }}) or &#039;&#039;&#039;fileFilter&#039;&#039;&#039; ({{JVer | 4.0 }} et suivant) (facultatif) est une expression régulière qui est utilisé pour filtrer la liste des fichiers sélectionnés pour inclusion dans la liste déroulante. Si ce paramètre est omis, tous les fichiers du répertoire sont inclus. L&#039;argument du filtre est appliquée avant l&#039;argument d&#039;exclusion. Pour plus d&#039;informations sur la construction des expressions régulières, veuillez consulter : [[S:MyLanguage/Regular expressions in parameter arguments|Les expressions régulières dans les arguments]].&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888276</id>
		<title>Standard Module Chromes/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888276"/>
		<updated>2022-03-05T11:42:05Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Notez que cet exemple comprend des ajouts de classes puisque les exemples sont le résultat de l&#039;utilisation de mod_mainmenu. Le suffixe &amp;quot;_menu&amp;quot; de la classe div ainsi que la classe &amp;quot;menu&amp;quot; de la balise ul ne sont pas présents avec d&#039;autres modules.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Comparaison des modules Joomla! Chromes standards&#039;&#039;&#039;&lt;br /&gt;
Ceci est identique de la série Joomla! 1.5 à la série 3.x.&lt;br /&gt;
!width=&amp;quot;100&amp;quot; | Style&lt;br /&gt;
!Sortie&lt;br /&gt;
!width=&amp;quot;210&amp;quot; | Apparence&lt;br /&gt;
|-&lt;br /&gt;
!rounded (arrondi)&amp;lt;br /&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;module_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_rounded.png]]&lt;br /&gt;
|-&lt;br /&gt;
!none (aucun)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Module_chrome_none.png]]&lt;br /&gt;
|-&lt;br /&gt;
!table (tableau)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
      &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_table.png]]&lt;br /&gt;
|-&lt;br /&gt;
!horz&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;/ul&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_horz.png]]&lt;br /&gt;
|-&lt;br /&gt;
!xhtml&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_xhtml.png]]&lt;br /&gt;
|-&lt;br /&gt;
!html5&lt;br /&gt;
|&amp;lt;!--- leave as html4strict/html5 not available yet ---&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;well _menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3 class=&amp;quot;page-header&amp;quot;&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;nav menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_html5.png]]&lt;br /&gt;
|-&lt;br /&gt;
!outline&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mod-preview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-info&amp;quot;&amp;gt;left[outline]&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
| [[Image:Module_chrome_outline.png]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notez que le module chrome ne va pas nécessairement changer de façon substantielle l&#039;apparence du module. Cela dépend principalment des CSS utilisé par le template. Par exemple, les &amp;lt;tt&amp;gt;none&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt; sont très similaires, bien que le code HTML soit très différent.&lt;br /&gt;
&lt;br /&gt;
Autres remarques : le &amp;lt;tt&amp;gt;horiz&amp;lt;/tt&amp;gt; est juste la mise en page d&#039;une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt; incorporée dans une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;tr&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;td&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Depuis Joomla! 3 : Le logiciel va contrôler ceci dans le fichier &amp;lt;tt&amp;gt;/templates/system/html/modules.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changes since Joomla! 4&#039;&#039;&#039;&lt;br /&gt;
* The standard chromes &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rounded&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;xhtml&amp;lt;/tt&amp;gt; have been removed from core.&lt;br /&gt;
* The core module chromes are controlled by &amp;lt;tt&amp;gt;JLayout&amp;lt;/tt&amp;gt; files in directory &amp;lt;tt&amp;gt;/layouts/chromes/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Advanced/fr|Chrome]]&lt;br /&gt;
[[Category:Module Development/fr|Développement de Modules]]&lt;br /&gt;
[[Category:Template Development/fr|Développement de Templates]]&lt;br /&gt;
[[Category:CSS/fr|CSS]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_Module_Chromes/14/fr&amp;diff=888275</id>
		<title>Translations:Standard Module Chromes/14/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_Module_Chromes/14/fr&amp;diff=888275"/>
		<updated>2022-03-05T11:42:04Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Depuis Joomla! 3 : Le logiciel va contrôler ceci dans le fichier&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888274</id>
		<title>Standard Module Chromes/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888274"/>
		<updated>2022-03-05T11:40:36Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Notez que cet exemple comprend des ajouts de classes puisque les exemples sont le résultat de l&#039;utilisation de mod_mainmenu. Le suffixe &amp;quot;_menu&amp;quot; de la classe div ainsi que la classe &amp;quot;menu&amp;quot; de la balise ul ne sont pas présents avec d&#039;autres modules.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Comparaison des modules Joomla! Chromes standards&#039;&#039;&#039;&lt;br /&gt;
Ceci est identique de la série Joomla! 1.5 à la série 3.x.&lt;br /&gt;
!width=&amp;quot;100&amp;quot; | Style&lt;br /&gt;
!Sortie&lt;br /&gt;
!width=&amp;quot;210&amp;quot; | Apparence&lt;br /&gt;
|-&lt;br /&gt;
!rounded (arrondi)&amp;lt;br /&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;module_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_rounded.png]]&lt;br /&gt;
|-&lt;br /&gt;
!none (aucun)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Module_chrome_none.png]]&lt;br /&gt;
|-&lt;br /&gt;
!table (tableau)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
      &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_table.png]]&lt;br /&gt;
|-&lt;br /&gt;
!horz&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;/ul&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_horz.png]]&lt;br /&gt;
|-&lt;br /&gt;
!xhtml&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_xhtml.png]]&lt;br /&gt;
|-&lt;br /&gt;
!html5&lt;br /&gt;
|&amp;lt;!--- leave as html4strict/html5 not available yet ---&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;well _menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3 class=&amp;quot;page-header&amp;quot;&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;nav menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_html5.png]]&lt;br /&gt;
|-&lt;br /&gt;
!outline&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mod-preview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-info&amp;quot;&amp;gt;left[outline]&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
| [[Image:Module_chrome_outline.png]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notez que le module chrome ne va pas nécessairement changer de façon substantielle l&#039;apparence du module. Cela dépend principalment des CSS utilisé par le template. Par exemple, les &amp;lt;tt&amp;gt;none&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt; sont très similaires, bien que le code HTML soit très différent.&lt;br /&gt;
&lt;br /&gt;
Autres remarques : le &amp;lt;tt&amp;gt;horiz&amp;lt;/tt&amp;gt; est juste la mise en page d&#039;une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt; incorporée dans une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;tr&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;td&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Le logiciel va contrôler ceci dans le fichier&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;tt&amp;gt;/templates/system/html/modules.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changes since Joomla! 4&#039;&#039;&#039;&lt;br /&gt;
* The standard chromes &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rounded&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;xhtml&amp;lt;/tt&amp;gt; have been removed from core.&lt;br /&gt;
* The core module chromes are controlled by &amp;lt;tt&amp;gt;JLayout&amp;lt;/tt&amp;gt; files in directory &amp;lt;tt&amp;gt;/layouts/chromes/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Advanced/fr|Chrome]]&lt;br /&gt;
[[Category:Module Development/fr|Développement de Modules]]&lt;br /&gt;
[[Category:Template Development/fr|Développement de Templates]]&lt;br /&gt;
[[Category:CSS/fr|CSS]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888273</id>
		<title>Standard Module Chromes/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_Module_Chromes/fr&amp;diff=888273"/>
		<updated>2022-03-05T11:39:02Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
Notez que cet exemple comprend des ajouts de classes puisque les exemples sont le résultat de l&#039;utilisation de mod_mainmenu. Le suffixe &amp;quot;_menu&amp;quot; de la classe div ainsi que la classe &amp;quot;menu&amp;quot; de la balise ul ne sont pas présents avec d&#039;autres modules.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Comparaison des modules Joomla! Chromes standards&#039;&#039;&#039;&lt;br /&gt;
Ceci est identique de la série Joomla! 1.5 à la série 3.x.&lt;br /&gt;
!width=&amp;quot;100&amp;quot; | Style&lt;br /&gt;
!Sortie&lt;br /&gt;
!width=&amp;quot;210&amp;quot; | Apparence&lt;br /&gt;
|-&lt;br /&gt;
!rounded (arrondi)&amp;lt;br /&amp;gt;&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;module_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
      &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
        &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
        &amp;lt;/ul&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_rounded.png]]&lt;br /&gt;
|-&lt;br /&gt;
!none (aucun)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
[[Image:Module_chrome_none.png]]&lt;br /&gt;
|-&lt;br /&gt;
!table (tableau)&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td&amp;gt;&lt;br /&gt;
      &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
      &amp;lt;/ul&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_table.png]]&lt;br /&gt;
|-&lt;br /&gt;
!horz&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;table cellspacing=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;tr&amp;gt;&lt;br /&gt;
    &amp;lt;td valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;table cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;th valign=&amp;quot;top&amp;quot;&amp;gt;Main Menu&amp;lt;/th&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
        &amp;lt;tr&amp;gt;&lt;br /&gt;
          &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
            &amp;lt;/ul&amp;gt;&lt;br /&gt;
          &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;/tr&amp;gt;&lt;br /&gt;
      &amp;lt;/table&amp;gt;&lt;br /&gt;
    &amp;lt;/td&amp;gt;&lt;br /&gt;
  &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_horz.png]]&lt;br /&gt;
|-&lt;br /&gt;
!xhtml&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;moduletable_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_xhtml.png]]&lt;br /&gt;
|-&lt;br /&gt;
!html5&lt;br /&gt;
|&amp;lt;!--- leave as html4strict/html5 not available yet ---&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;well _menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;h3 class=&amp;quot;page-header&amp;quot;&amp;gt;Main Menu&amp;lt;/h3&amp;gt;&lt;br /&gt;
  &amp;lt;ul class=&amp;quot;nav menu&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
|[[Image:Module_chrome_html5.png]]&lt;br /&gt;
|-&lt;br /&gt;
!outline&lt;br /&gt;
|&amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mod-preview&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-info&amp;quot;&amp;gt;left[outline]&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div class=&amp;quot;mod-preview-wrapper&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;ul class=&amp;quot;menu&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;li&amp;gt;&amp;lt;!-- various menu items --&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
| [[Image:Module_chrome_outline.png]]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Notez que le module chrome ne va pas nécessairement changer de façon substantielle l&#039;apparence du module. Cela dépend principalment des CSS utilisé par le template. Par exemple, les &amp;lt;tt&amp;gt;none&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt; sont très similaires, bien que le code HTML soit très différent.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Autres remarques : le &amp;lt;tt&amp;gt;horiz&amp;lt;/tt&amp;gt; est juste la mise en page d&#039;une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt; incorporée dans une &amp;lt;tt&amp;gt;table&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;tr&amp;lt;/tt&amp;gt; et &amp;lt;tt&amp;gt;td&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-translate-fuzzy&amp;quot;&amp;gt;&lt;br /&gt;
Le logiciel va contrôler ceci dans le fichier&lt;br /&gt;
&amp;lt;/div&amp;gt; &amp;lt;tt&amp;gt;/templates/system/html/modules.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Changes since Joomla! 4&#039;&#039;&#039;&lt;br /&gt;
* The standard chromes &amp;lt;tt&amp;gt;horz&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;rounded&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;xhtml&amp;lt;/tt&amp;gt; have been removed from core.&lt;br /&gt;
* The core module chromes are controlled by &amp;lt;tt&amp;gt;JLayout&amp;lt;/tt&amp;gt; files in directory &amp;lt;tt&amp;gt;/layouts/chromes/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Advanced/fr|Chrome]]&lt;br /&gt;
[[Category:Module Development/fr|Développement de Modules]]&lt;br /&gt;
[[Category:Template Development/fr|Développement de Templates]]&lt;br /&gt;
[[Category:CSS/fr|CSS]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Form_field/fr&amp;diff=885160</id>
		<title>Form field/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Form_field/fr&amp;diff=885160"/>
		<updated>2022-02-22T13:02:19Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Si vous avez lu une ancienne version de notre documentation pour les développeurs ou pris le code d&amp;#039;affichage de votre formulaire à partir d&amp;#039;une extension existante, vous re...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
Les champs de formulaire sont des champs contenus dans des balises HTML &amp;lt;code&amp;gt;&amp;lt;form&amp;gt;&amp;lt;/code&amp;gt;. La version Joomla! {{JVer|2.5}} et les plus récentes, proposent une classe JForm permettant de créer facilement et avec beaucoup de flexibilité des formulaires avec un très nombreux choix de types de champs. Chaque type de champ de formulaire est une sous-classe de JFormField.&lt;br /&gt;
&lt;br /&gt;
En plus d&#039;être un outil à la création de page flexible, JFormFields sont également utilisés par Joomla! pour permettre aux [[S:MyLanguage/Administrator (User)|administrateurs]] de configurer Joomla! ou ses extensions sans avoir à changer le code sous-jacent. Avec Joomla! 1.5, cela était réalisé via les classes désormais obsolètes [[S:MyLanguage/API15:JParameter|JParameter]] et [[S:MyLanguage/API15:JElement|JElement]].&lt;br /&gt;
&lt;br /&gt;
Pour définir les champs de formulaire dans la configuration d&#039;une extension, vous devez les inclure dans un &amp;quot;fieldset&amp;quot; tel que &amp;lt;code&amp;gt;&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, placé à l&#039;intérieur de &amp;lt;code&amp;gt;&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; de la section élément &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt; dans votre [[S:MyLanguage/Manifest files|fichier manifest XML]].&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation de formulaires ==&lt;br /&gt;
{{:Form validation/fr}}&lt;br /&gt;
==Types de champs pour formulaires standards==&lt;br /&gt;
{{:Standard form field types/fr}}&lt;br /&gt;
== Types de champs de formulaires personnalisés ==&lt;br /&gt;
Une [[S:MyLanguage/extension|extension]] peut définir ses propres types de champ, qui peuvent ensuite être utilisés dans ses propres formulaires ou ceux créés par d&#039;autres extensions. Pour plus d&#039;informations, veuillez consulter : [[S:MyLanguage/Creating a custom form field type|Création d&#039;un type de champ de formulaire personnalisé]].&lt;br /&gt;
==Types de champs pour formulaires modales==&lt;br /&gt;
Si vous avez un champ avec de nombreuses valeurs qui ne conviennent pas pour une zone de sélection, vous pouvez toujours utiliser un type de champ de formulaire modal qui permettra à l&#039;utilisateur de sélectionner un élément à partir d&#039;une fenêtre modale avec un tableau, des options de filtres, etc. (comme pour les fenêtres dans l&#039;administration comme par exemple pour les &amp;quot;articles&amp;quot;).&lt;br /&gt;
Veuillez consulter [[S:MyLanguage/Creating a modal form field|Création de formulaires modales]]&lt;br /&gt;
&lt;br /&gt;
== Attributs communs ==&lt;br /&gt;
=== Labelclass ===&lt;br /&gt;
L&#039;ajout de l&#039;attribut &amp;lt;code&amp;gt;labelclass&amp;lt;/code&amp;gt; permet d&#039;ajouter une classe CSS pour les étiquettes des champs de formulaires. Source : http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=28450&lt;br /&gt;
&lt;br /&gt;
=== Showon ===&lt;br /&gt;
L&#039;ajout de l&#039;attribut &amp;lt;code&amp;gt;showon&amp;lt;/code&amp;gt; permet de cacher le champ basé sur la valeur d&#039;un autre champ.&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; uniquement lorsque &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est sur &amp;quot;1&amp;quot; et &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; est sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour correspondre à de multiples valeurs, on peut fournir une liste de valeurs, séparées par des virgules. Comme par exemple &amp;lt;code&amp;gt;showon=&amp;quot;foo:1,2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour combiner plusieurs champs, vous pouvez utiliser &amp;lt;code&amp;gt;[AND]&amp;lt;/code&amp;gt;. Comme ceci &amp;lt;code&amp;gt;showon=&amp;quot;foo:1[AND]bar:1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; quand &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est paramétré sur &amp;quot;1&amp;quot; et &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1[AND]baz:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour combiner plusieurs champs, vous pouvez utiliser &amp;lt;code&amp;gt;[OR]&amp;lt;/code&amp;gt;. Comme ceci &amp;lt;code&amp;gt;showon=&amp;quot;foo:1[OR]bar:1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; uniquement lorsque &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est paramétré sur &amp;quot;1&amp;quot; ou &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1[OR]baz:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi utiliser une valeur &amp;quot;différente de&amp;quot; telle que &amp;lt;tt&amp;gt;showon=&amp;quot;foo!:1&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;quot;baz&amp;quot; lorsque &amp;quot;foo&amp;quot; n&#039;est pas égal à &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo!:1&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pour afficher un champ lorsqu&#039;un autre champ (par exemple foo) est sélectionné (et donc quand ce champ n&#039;est pas vide), vous pouvez utiliser &amp;lt;tt&amp;gt;showon=&amp;quot;foo!:&amp;quot;&amp;lt;/tt&amp;gt; (sans spécifier de valeur).&lt;br /&gt;
&lt;br /&gt;
Ceci a été introduit avec le PullRequest : https://github.com/joomla/joomla-cms/pull/3379 et disponible à partir de Joomla! 3.2.4.&lt;br /&gt;
=== Dépannage : Les attributs ne fonctionnent pas ===&lt;br /&gt;
&lt;br /&gt;
Si vous avez lu une ancienne version de notre documentation pour les développeurs ou pris le code d&#039;affichage de votre formulaire à partir d&#039;une extension existante, vous rencontrez peut-être des problèmes avec des attributs tels que &amp;lt;code&amp;gt;showon&amp;lt;/code&amp;gt; qui ne fonctionnent pas du tout. Pour que certains attributs spéciaux fonctionnent, vos champs doivent être rendus à l&#039;aide de leur méthode &amp;lt;code&amp;gt;renderField()&amp;lt;/code&amp;gt;. Par exemple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row-fluid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;span6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;?php &lt;br /&gt;
            foreach($this-&amp;gt;form-&amp;gt;getFieldset() as $field) {&lt;br /&gt;
                echo $field-&amp;gt;renderField();        &lt;br /&gt;
            }&lt;br /&gt;
        ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Landing Pages{{#translation:}}]]&lt;br /&gt;
[[Category:Form fields{{#translation:}}]]&lt;br /&gt;
[[Category:Development{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Form_field/33/fr&amp;diff=885159</id>
		<title>Translations:Form field/33/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Form_field/33/fr&amp;diff=885159"/>
		<updated>2022-02-22T13:02:18Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Si vous avez lu une ancienne version de notre documentation pour les développeurs ou pris le code d&amp;#039;affichage de votre formulaire à partir d&amp;#039;une extension existante, vous re...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si vous avez lu une ancienne version de notre documentation pour les développeurs ou pris le code d&#039;affichage de votre formulaire à partir d&#039;une extension existante, vous rencontrez peut-être des problèmes avec des attributs tels que &amp;lt;code&amp;gt;showon&amp;lt;/code&amp;gt; qui ne fonctionnent pas du tout. Pour que certains attributs spéciaux fonctionnent, vos champs doivent être rendus à l&#039;aide de leur méthode &amp;lt;code&amp;gt;renderField()&amp;lt;/code&amp;gt;. Par exemple:&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Form_field/fr&amp;diff=885158</id>
		<title>Form field/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Form_field/fr&amp;diff=885158"/>
		<updated>2022-02-22T12:59:30Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;=== Dépannage : Les attributs ne fonctionnent pas ===&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&lt;br /&gt;
==Introduction==&lt;br /&gt;
Les champs de formulaire sont des champs contenus dans des balises HTML &amp;lt;code&amp;gt;&amp;lt;form&amp;gt;&amp;lt;/code&amp;gt;. La version Joomla! {{JVer|2.5}} et les plus récentes, proposent une classe JForm permettant de créer facilement et avec beaucoup de flexibilité des formulaires avec un très nombreux choix de types de champs. Chaque type de champ de formulaire est une sous-classe de JFormField.&lt;br /&gt;
&lt;br /&gt;
En plus d&#039;être un outil à la création de page flexible, JFormFields sont également utilisés par Joomla! pour permettre aux [[S:MyLanguage/Administrator (User)|administrateurs]] de configurer Joomla! ou ses extensions sans avoir à changer le code sous-jacent. Avec Joomla! 1.5, cela était réalisé via les classes désormais obsolètes [[S:MyLanguage/API15:JParameter|JParameter]] et [[S:MyLanguage/API15:JElement|JElement]].&lt;br /&gt;
&lt;br /&gt;
Pour définir les champs de formulaire dans la configuration d&#039;une extension, vous devez les inclure dans un &amp;quot;fieldset&amp;quot; tel que &amp;lt;code&amp;gt;&amp;lt;fieldset name=&amp;quot;basic&amp;quot;&amp;gt;&amp;lt;/code&amp;gt;, placé à l&#039;intérieur de &amp;lt;code&amp;gt;&amp;lt;fields name=&amp;quot;params&amp;quot;&amp;gt;&amp;lt;/code&amp;gt; de la section élément &amp;lt;code&amp;gt;&amp;lt;config&amp;gt;&amp;lt;/code&amp;gt; dans votre [[S:MyLanguage/Manifest files|fichier manifest XML]].&lt;br /&gt;
&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validation de formulaires ==&lt;br /&gt;
{{:Form validation/fr}}&lt;br /&gt;
==Types de champs pour formulaires standards==&lt;br /&gt;
{{:Standard form field types/fr}}&lt;br /&gt;
== Types de champs de formulaires personnalisés ==&lt;br /&gt;
Une [[S:MyLanguage/extension|extension]] peut définir ses propres types de champ, qui peuvent ensuite être utilisés dans ses propres formulaires ou ceux créés par d&#039;autres extensions. Pour plus d&#039;informations, veuillez consulter : [[S:MyLanguage/Creating a custom form field type|Création d&#039;un type de champ de formulaire personnalisé]].&lt;br /&gt;
==Types de champs pour formulaires modales==&lt;br /&gt;
Si vous avez un champ avec de nombreuses valeurs qui ne conviennent pas pour une zone de sélection, vous pouvez toujours utiliser un type de champ de formulaire modal qui permettra à l&#039;utilisateur de sélectionner un élément à partir d&#039;une fenêtre modale avec un tableau, des options de filtres, etc. (comme pour les fenêtres dans l&#039;administration comme par exemple pour les &amp;quot;articles&amp;quot;).&lt;br /&gt;
Veuillez consulter [[S:MyLanguage/Creating a modal form field|Création de formulaires modales]]&lt;br /&gt;
&lt;br /&gt;
== Attributs communs ==&lt;br /&gt;
=== Labelclass ===&lt;br /&gt;
L&#039;ajout de l&#039;attribut &amp;lt;code&amp;gt;labelclass&amp;lt;/code&amp;gt; permet d&#039;ajouter une classe CSS pour les étiquettes des champs de formulaires. Source : http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&amp;amp;tracker_item_id=28450&lt;br /&gt;
&lt;br /&gt;
=== Showon ===&lt;br /&gt;
L&#039;ajout de l&#039;attribut &amp;lt;code&amp;gt;showon&amp;lt;/code&amp;gt; permet de cacher le champ basé sur la valeur d&#039;un autre champ.&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; uniquement lorsque &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est sur &amp;quot;1&amp;quot; et &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; est sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour correspondre à de multiples valeurs, on peut fournir une liste de valeurs, séparées par des virgules. Comme par exemple &amp;lt;code&amp;gt;showon=&amp;quot;foo:1,2&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour combiner plusieurs champs, vous pouvez utiliser &amp;lt;code&amp;gt;[AND]&amp;lt;/code&amp;gt;. Comme ceci &amp;lt;code&amp;gt;showon=&amp;quot;foo:1[AND]bar:1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; quand &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est paramétré sur &amp;quot;1&amp;quot; et &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1[AND]baz:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour combiner plusieurs champs, vous pouvez utiliser &amp;lt;code&amp;gt;[OR]&amp;lt;/code&amp;gt;. Comme ceci &amp;lt;code&amp;gt;showon=&amp;quot;foo:1[OR]bar:1&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;lt;tt&amp;gt;bar&amp;lt;/tt&amp;gt; uniquement lorsque &amp;lt;tt&amp;gt;foo&amp;lt;/tt&amp;gt; est paramétré sur &amp;quot;1&amp;quot; ou &amp;lt;tt&amp;gt;baz&amp;lt;/tt&amp;gt; sur &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;bar&amp;quot;&lt;br /&gt;
    type=&amp;quot;text&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo:1[OR]baz:1&amp;quot;&lt;br /&gt;
/&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez aussi utiliser une valeur &amp;quot;différente de&amp;quot; telle que &amp;lt;tt&amp;gt;showon=&amp;quot;foo!:1&amp;quot;&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
La syntaxe permettant d&#039;afficher le champ &amp;quot;baz&amp;quot; lorsque &amp;quot;foo&amp;quot; n&#039;est pas égal à &amp;quot;1&amp;quot; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&amp;lt;field&lt;br /&gt;
    name=&amp;quot;foo&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;field&lt;br /&gt;
    name=&amp;quot;baz&amp;quot;&lt;br /&gt;
    type=&amp;quot;list&amp;quot;&lt;br /&gt;
    showon=&amp;quot;foo!:1&amp;quot;&lt;br /&gt;
    &amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;1&amp;quot;&amp;gt;JYES&amp;lt;/option&amp;gt;&lt;br /&gt;
    &amp;lt;option value=&amp;quot;0&amp;quot;&amp;gt;JNO&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/field&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Pour afficher un champ lorsqu&#039;un autre champ (par exemple foo) est sélectionné (et donc quand ce champ n&#039;est pas vide), vous pouvez utiliser &amp;lt;tt&amp;gt;showon=&amp;quot;foo!:&amp;quot;&amp;lt;/tt&amp;gt; (sans spécifier de valeur).&lt;br /&gt;
&lt;br /&gt;
Ceci a été introduit avec le PullRequest : https://github.com/joomla/joomla-cms/pull/3379 et disponible à partir de Joomla! 3.2.4.&lt;br /&gt;
=== Dépannage : Les attributs ne fonctionnent pas ===&lt;br /&gt;
&lt;br /&gt;
If you have read an older version of our developer documentation, or took your form display code from an existing extension, you may be experiencing issues with attributes like &amp;lt;code&amp;gt;showon&amp;lt;/code&amp;gt; not working at all. In order for some special attributes to function, your fields must be rendered using their &amp;lt;code&amp;gt;renderField()&amp;lt;/code&amp;gt; method. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;row-fluid&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;span6&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;?php &lt;br /&gt;
            foreach($this-&amp;gt;form-&amp;gt;getFieldset() as $field) {&lt;br /&gt;
                echo $field-&amp;gt;renderField();        &lt;br /&gt;
            }&lt;br /&gt;
        ?&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Landing Pages{{#translation:}}]]&lt;br /&gt;
[[Category:Form fields{{#translation:}}]]&lt;br /&gt;
[[Category:Development{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Form_field/32/fr&amp;diff=885157</id>
		<title>Translations:Form field/32/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Form_field/32/fr&amp;diff=885157"/>
		<updated>2022-02-22T12:59:28Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;=== Dépannage : Les attributs ne fonctionnent pas ===&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Dépannage : Les attributs ne fonctionnent pas ===&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883742</id>
		<title>Standard form field types/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883742"/>
		<updated>2022-02-18T12:32:37Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
De nombreux types de [[S:MyLanguage/form field|champs de formulaires]] sont disponibles dans Joomla. Le tableau ci-dessous dresse la liste de ces types standards ainsi que leur disponibilité. Veuillez utiliser la [[S:MyLanguage/Standard_form_field_types/Single-page_reference|page de références]] si vous souhaitez imprimer la documentation sur l&#039;ensemble des champs de formulaires existants.&lt;br /&gt;
&lt;br /&gt;
Pour les versions {{JVer|1.5}}. Veuillez noter que plusieurs de ces champs sont disponibles en tant que [[S:MyLanguage/Parameter|types de paramètres]] pour Joomla! 1.5. Pour une liste des types de paramètres, veuillez consulter [[S:MyLanguage/J1.5:Standard parameter types|les types de paramètres standards pour Joomla! 1.5]]. Pour une comparaison entre les champs et les types de paramètres, veuillez consulter [[S:MyLanguage/Standard form field and parameter types|les champs de formulaires standards et les types de paramètres]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:top; border:1px solid Sienna; background-color:Cornsilk;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:Wheat; font-weight:bold; text-align: left;&amp;quot;&lt;br /&gt;
!width=15%|Type&lt;br /&gt;
!width=65%|Description&lt;br /&gt;
!width=20%|Disponibilité&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accessiblemedia form field type|accessiblemedia]]&lt;br /&gt;
|fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs disposant des autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;br /&gt;
|{{JVer|4.0}} et suivant&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accesslevel form field type|accesslevel]]&lt;br /&gt;
|fournit une liste déroulante de visualisation des niveaux d&#039;accès.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Cachehandler form field type|cachehandler]]&lt;br /&gt;
|fournit une liste d&#039;options de mise en cache disponibles.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Calendar form field type|calendar]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;une date. Une icône à côté de la zone de texte fournit un lien vers un calendrier en fenêtre modale, qui peut également être utilisé pour entrer la valeur de la date.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Captcha form field type|captcha]]&lt;br /&gt;
|Permet l&#039;utilisation d&#039;un plugin captcha.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Category form field type|category]]&lt;br /&gt;
|fournit une liste déroulante des catégories pour une extension.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkbox form field type|checkbox]]&lt;br /&gt;
|fournit une case simple à cocher ou décocher.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkboxes form field type|checkboxes]]&lt;br /&gt;
|fournit un nombre illimité de cases à cocher qui peuvent être utilisées pour les multi-sélections.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ChromeStyle form field type|Chrome Style]]&lt;br /&gt;
|fournit une liste des templates avec options de style chrome regroupés par templates.&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Color form field type|color]]&lt;br /&gt;
|fournit un sélecteur de couleur en cliquant dans la zone de saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ContentLanguage form field type|Content Language]]&lt;br /&gt;
|fournit une liste des langues de contenu.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contenttype form field type|Content Type]]&lt;br /&gt;
|fournit une liste des types de contenu.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Combo form field type|combo]]&lt;br /&gt;
|fournit une un ensemble de champs cases.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Componentlayout form field type|componentlayout]]&lt;br /&gt;
|fournit une liste regroupant des templates et d&#039;affichages natifs alternatifs pour un élément de composant.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contentlanguage form field type|contentlanguage]]&lt;br /&gt;
|fournit une liste de langues de contenu installées pour une utilisation avec le plugin de sélection des langues.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/DatabaseConnection form field type|Database Connection]]&lt;br /&gt;
|fournit une liste de connexions à la base de données disponible, éventuellement en limitant à une liste donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editor form field type|editor]]&lt;br /&gt;
|fournit un champ de zone de texte pour l&#039;éditeur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editors form field type|editors]]&lt;br /&gt;
|fournit une liste déroulante des éditeurs WYSIWYG disponibles. Depuis la version {{JVer|2.5}}, il convient d&#039;utiliser à la place les [[S:MyLanguage/Plugins form field type|plugins de types de champs de formulaire]].&lt;br /&gt;
|{{JVer|1.6}}&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Email form field type|email]]&lt;br /&gt;
|fournit un champ de courriel.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/File form field type|file]]&lt;br /&gt;
|fournit un champ de saisie pour les fichiers.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Filelist form field type|filelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Folderlist form field type|folderlist]]&lt;br /&gt;
|fournit une liste déroulante des dossiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Groupedlist form field type|groupedlist]]&lt;br /&gt;
|fournit une liste déroulante d&#039;éléments organisés en groupes.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/HeaderTag form field type|header tag]]&lt;br /&gt;
|fournit une liste déroulante des balises de titre (h1-h6).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Helpsite form field type|helpsite]]&lt;br /&gt;
|fournit une liste déroulante des sites d&#039;aide pour votre installation Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Hidden form field type|hidden]]&lt;br /&gt;
|fournit un champ caché pour l&#039;enregistrement d&#039;un champ de formulaire dont la valeur ne peut pas être modifiée directement par un utilisateur dans l&#039;administration (elle peut être modifiée dans le code ou par modification du fichier &amp;quot;params.ini&amp;quot;).&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Imagelist form field type|imagelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers image d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Integer form field type|integer]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entiers compris entre un minimum et un maximum.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Language form field type|language]]&lt;br /&gt;
|fournit une liste déroulante des langues installées pour le frontend ou le backend.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/List form field type|list]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entrées personnalisées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Media form field type|media]]&lt;br /&gt;
|fournit un accès en modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec chargement par les utilisateurs disposant des autorisations appropriées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menu form field type|menu]]&lt;br /&gt;
|fournit une liste déroulante des menus disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menuitem form field type|Menu Item]]&lt;br /&gt;
|fournit une liste déroulante des éléments de menu disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[Meter form field type|meter]]&lt;br /&gt;
|fournit un compteur pour afficher la valeur dans une plage.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Modulelayout form field type|Module Layout]]&lt;br /&gt;
|fournit une liste d&#039;affichages alternatifs pour un groupe de modules natifs et de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleOrder form field type|Module Order]]&lt;br /&gt;
|fournit une liste déroulante pour définir les modules d&#039;une position donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModulePosition form field type|Module Position]]&lt;br /&gt;
|fournit une zone de texte pour définir la position d&#039;un module.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleTag form field type|Module Tag]]&lt;br /&gt;
|fournit une liste des éléments HTML5 (utilisé pour l&#039;intégration de module dans une fenêtre).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Note form field type|note]]&lt;br /&gt;
|fournit un champ texte d&#039;une ligne.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Number form field type|number]]&lt;br /&gt;
|fournit une zone de texte d&#039;une ligne avec un champ déroulant de chiffres pour définir le champ.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Password form field type|password]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;un mot de passe. Les caractères du mot de passe seront masqués lors de la saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Plugins form field type|plugins]]&lt;br /&gt;
|fournit une liste de plugins à partir d&#039;un dossier donné.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Predefined List form field type|predefinedlist]]&lt;br /&gt;
|Champ de formulaire pour charger une liste de valeurs prédéfinies.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Radio form field type|radio]]&lt;br /&gt;
|fournit des boutons radio pour sélectionner différentes options.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Range form field type|range]]&lt;br /&gt;
|fournit une barre de défilement horizontale pour spécifier une valeur dans une plage donnée.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Repeatable form field type|repeatable]]&lt;br /&gt;
|autorise les champs de formulaire proposant autant d&#039;options que souhaitées par l&#039;utilisateur.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Rules form field type|rules]]&lt;br /&gt;
|fournit une matrice de groupe par options d&#039;action pour la gestion des contrôles d&#039;accès. L&#039;affichage dépend du contexte.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Sessionhandler form field type|sessionhandler]]&lt;br /&gt;
|fournit une liste déroulante de gestionnaire des options de session.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Spacer form field type|spacer]]&lt;br /&gt;
|fournit un séparateur visible entre les champs de formulaire. Ceci est simplement une aide visuelle et aucune valeur n&#039;est enregistrée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/SQL form field type|sql]]&lt;br /&gt;
|fournit une liste déroulante des entrées obtenues par l&#039;exécution d&#039;une requête dans la base de données Joomla. La première colonne de résultats retournée par la requête fournit les valeurs de la liste déroulante.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/subform form field type|subform]]&lt;br /&gt;
|Permet l&#039;utilisation des formulaires XML à l’intérieur les uns des autres ou de réutiliser vos formulaires existants à l’intérieur de vos propres formulaires.&lt;br /&gt;
|{{JVer|3.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tag form field type|tag]]&lt;br /&gt;
|fournit un point d&#039;entrée pour les balises (AJAX ou imbriquées).&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tel form field type|tel]]&lt;br /&gt;
|fournit un champ de saisie pour numéro de téléphone.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Templatestyle form field type|templatestyle]]&lt;br /&gt;
|fournit une liste déroulante des styles de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Text form field type|text]]&lt;br /&gt;
|fournit une zone de texte pour la saisie des données.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Textarea form field type|textarea]]&lt;br /&gt;
|fournit une zone de texte pour la saisie de texte en multi-ligne.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Timezone form field type|timezone]]&lt;br /&gt;
|fournit une liste déroulante des fuseaux horaires.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/URL form field type|URL]]&lt;br /&gt;
|fournit un champ de saisie d&#039;URL.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User form field type|user]]&lt;br /&gt;
|Champ pour sélectionner un utilisateur à partir d&#039;une liste modale. Affiche le nom d&#039;utilisateur et stocke l&#039;ID d&#039;utilisateur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/UserActive form field type|useractive]]&lt;br /&gt;
|fournit une liste des utilisateurs actifs. &lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Usergroup form field type|usergroup]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Depuis la version {{JVer|3.2}}, il convient d&#039;utiliser à la place &#039;[[S:MyLanguage/User Group List form field type|usergrouplist]]&#039;.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User Group List form field type|usergrouplist]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Remplace le type de champ de formulaire &#039;usergroup&#039;.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User State form field type|userstate]]&lt;br /&gt;
|Champ pour charger une liste des statuts utilisateurs disponibles.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Form fields/fr|Champs de formulaires]]&lt;br /&gt;
[[Category:Development Reference/fr|Références pour le développement]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/193/fr&amp;diff=883741</id>
		<title>Translations:Standard form field types/193/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/193/fr&amp;diff=883741"/>
		<updated>2022-02-18T12:32:37Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs disposant des autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883740</id>
		<title>Standard form field types/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883740"/>
		<updated>2022-02-18T12:30:14Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;et suivant&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
De nombreux types de [[S:MyLanguage/form field|champs de formulaires]] sont disponibles dans Joomla. Le tableau ci-dessous dresse la liste de ces types standards ainsi que leur disponibilité. Veuillez utiliser la [[S:MyLanguage/Standard_form_field_types/Single-page_reference|page de références]] si vous souhaitez imprimer la documentation sur l&#039;ensemble des champs de formulaires existants.&lt;br /&gt;
&lt;br /&gt;
Pour les versions {{JVer|1.5}}. Veuillez noter que plusieurs de ces champs sont disponibles en tant que [[S:MyLanguage/Parameter|types de paramètres]] pour Joomla! 1.5. Pour une liste des types de paramètres, veuillez consulter [[S:MyLanguage/J1.5:Standard parameter types|les types de paramètres standards pour Joomla! 1.5]]. Pour une comparaison entre les champs et les types de paramètres, veuillez consulter [[S:MyLanguage/Standard form field and parameter types|les champs de formulaires standards et les types de paramètres]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:top; border:1px solid Sienna; background-color:Cornsilk;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:Wheat; font-weight:bold; text-align: left;&amp;quot;&lt;br /&gt;
!width=15%|Type&lt;br /&gt;
!width=65%|Description&lt;br /&gt;
!width=20%|Disponibilité&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accessiblemedia form field type|accessiblemedia]]&lt;br /&gt;
|fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs ayant les autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;br /&gt;
|{{JVer|4.0}} et suivant&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accesslevel form field type|accesslevel]]&lt;br /&gt;
|fournit une liste déroulante de visualisation des niveaux d&#039;accès.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Cachehandler form field type|cachehandler]]&lt;br /&gt;
|fournit une liste d&#039;options de mise en cache disponibles.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Calendar form field type|calendar]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;une date. Une icône à côté de la zone de texte fournit un lien vers un calendrier en fenêtre modale, qui peut également être utilisé pour entrer la valeur de la date.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Captcha form field type|captcha]]&lt;br /&gt;
|Permet l&#039;utilisation d&#039;un plugin captcha.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Category form field type|category]]&lt;br /&gt;
|fournit une liste déroulante des catégories pour une extension.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkbox form field type|checkbox]]&lt;br /&gt;
|fournit une case simple à cocher ou décocher.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkboxes form field type|checkboxes]]&lt;br /&gt;
|fournit un nombre illimité de cases à cocher qui peuvent être utilisées pour les multi-sélections.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ChromeStyle form field type|Chrome Style]]&lt;br /&gt;
|fournit une liste des templates avec options de style chrome regroupés par templates.&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Color form field type|color]]&lt;br /&gt;
|fournit un sélecteur de couleur en cliquant dans la zone de saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ContentLanguage form field type|Content Language]]&lt;br /&gt;
|fournit une liste des langues de contenu.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contenttype form field type|Content Type]]&lt;br /&gt;
|fournit une liste des types de contenu.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Combo form field type|combo]]&lt;br /&gt;
|fournit une un ensemble de champs cases.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Componentlayout form field type|componentlayout]]&lt;br /&gt;
|fournit une liste regroupant des templates et d&#039;affichages natifs alternatifs pour un élément de composant.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contentlanguage form field type|contentlanguage]]&lt;br /&gt;
|fournit une liste de langues de contenu installées pour une utilisation avec le plugin de sélection des langues.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/DatabaseConnection form field type|Database Connection]]&lt;br /&gt;
|fournit une liste de connexions à la base de données disponible, éventuellement en limitant à une liste donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editor form field type|editor]]&lt;br /&gt;
|fournit un champ de zone de texte pour l&#039;éditeur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editors form field type|editors]]&lt;br /&gt;
|fournit une liste déroulante des éditeurs WYSIWYG disponibles. Depuis la version {{JVer|2.5}}, il convient d&#039;utiliser à la place les [[S:MyLanguage/Plugins form field type|plugins de types de champs de formulaire]].&lt;br /&gt;
|{{JVer|1.6}}&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Email form field type|email]]&lt;br /&gt;
|fournit un champ de courriel.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/File form field type|file]]&lt;br /&gt;
|fournit un champ de saisie pour les fichiers.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Filelist form field type|filelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Folderlist form field type|folderlist]]&lt;br /&gt;
|fournit une liste déroulante des dossiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Groupedlist form field type|groupedlist]]&lt;br /&gt;
|fournit une liste déroulante d&#039;éléments organisés en groupes.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/HeaderTag form field type|header tag]]&lt;br /&gt;
|fournit une liste déroulante des balises de titre (h1-h6).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Helpsite form field type|helpsite]]&lt;br /&gt;
|fournit une liste déroulante des sites d&#039;aide pour votre installation Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Hidden form field type|hidden]]&lt;br /&gt;
|fournit un champ caché pour l&#039;enregistrement d&#039;un champ de formulaire dont la valeur ne peut pas être modifiée directement par un utilisateur dans l&#039;administration (elle peut être modifiée dans le code ou par modification du fichier &amp;quot;params.ini&amp;quot;).&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Imagelist form field type|imagelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers image d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Integer form field type|integer]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entiers compris entre un minimum et un maximum.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Language form field type|language]]&lt;br /&gt;
|fournit une liste déroulante des langues installées pour le frontend ou le backend.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/List form field type|list]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entrées personnalisées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Media form field type|media]]&lt;br /&gt;
|fournit un accès en modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec chargement par les utilisateurs disposant des autorisations appropriées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menu form field type|menu]]&lt;br /&gt;
|fournit une liste déroulante des menus disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menuitem form field type|Menu Item]]&lt;br /&gt;
|fournit une liste déroulante des éléments de menu disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[Meter form field type|meter]]&lt;br /&gt;
|fournit un compteur pour afficher la valeur dans une plage.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Modulelayout form field type|Module Layout]]&lt;br /&gt;
|fournit une liste d&#039;affichages alternatifs pour un groupe de modules natifs et de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleOrder form field type|Module Order]]&lt;br /&gt;
|fournit une liste déroulante pour définir les modules d&#039;une position donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModulePosition form field type|Module Position]]&lt;br /&gt;
|fournit une zone de texte pour définir la position d&#039;un module.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleTag form field type|Module Tag]]&lt;br /&gt;
|fournit une liste des éléments HTML5 (utilisé pour l&#039;intégration de module dans une fenêtre).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Note form field type|note]]&lt;br /&gt;
|fournit un champ texte d&#039;une ligne.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Number form field type|number]]&lt;br /&gt;
|fournit une zone de texte d&#039;une ligne avec un champ déroulant de chiffres pour définir le champ.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Password form field type|password]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;un mot de passe. Les caractères du mot de passe seront masqués lors de la saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Plugins form field type|plugins]]&lt;br /&gt;
|fournit une liste de plugins à partir d&#039;un dossier donné.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Predefined List form field type|predefinedlist]]&lt;br /&gt;
|Champ de formulaire pour charger une liste de valeurs prédéfinies.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Radio form field type|radio]]&lt;br /&gt;
|fournit des boutons radio pour sélectionner différentes options.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Range form field type|range]]&lt;br /&gt;
|fournit une barre de défilement horizontale pour spécifier une valeur dans une plage donnée.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Repeatable form field type|repeatable]]&lt;br /&gt;
|autorise les champs de formulaire proposant autant d&#039;options que souhaitées par l&#039;utilisateur.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Rules form field type|rules]]&lt;br /&gt;
|fournit une matrice de groupe par options d&#039;action pour la gestion des contrôles d&#039;accès. L&#039;affichage dépend du contexte.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Sessionhandler form field type|sessionhandler]]&lt;br /&gt;
|fournit une liste déroulante de gestionnaire des options de session.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Spacer form field type|spacer]]&lt;br /&gt;
|fournit un séparateur visible entre les champs de formulaire. Ceci est simplement une aide visuelle et aucune valeur n&#039;est enregistrée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/SQL form field type|sql]]&lt;br /&gt;
|fournit une liste déroulante des entrées obtenues par l&#039;exécution d&#039;une requête dans la base de données Joomla. La première colonne de résultats retournée par la requête fournit les valeurs de la liste déroulante.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/subform form field type|subform]]&lt;br /&gt;
|Permet l&#039;utilisation des formulaires XML à l’intérieur les uns des autres ou de réutiliser vos formulaires existants à l’intérieur de vos propres formulaires.&lt;br /&gt;
|{{JVer|3.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tag form field type|tag]]&lt;br /&gt;
|fournit un point d&#039;entrée pour les balises (AJAX ou imbriquées).&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tel form field type|tel]]&lt;br /&gt;
|fournit un champ de saisie pour numéro de téléphone.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Templatestyle form field type|templatestyle]]&lt;br /&gt;
|fournit une liste déroulante des styles de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Text form field type|text]]&lt;br /&gt;
|fournit une zone de texte pour la saisie des données.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Textarea form field type|textarea]]&lt;br /&gt;
|fournit une zone de texte pour la saisie de texte en multi-ligne.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Timezone form field type|timezone]]&lt;br /&gt;
|fournit une liste déroulante des fuseaux horaires.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/URL form field type|URL]]&lt;br /&gt;
|fournit un champ de saisie d&#039;URL.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User form field type|user]]&lt;br /&gt;
|Champ pour sélectionner un utilisateur à partir d&#039;une liste modale. Affiche le nom d&#039;utilisateur et stocke l&#039;ID d&#039;utilisateur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/UserActive form field type|useractive]]&lt;br /&gt;
|fournit une liste des utilisateurs actifs. &lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Usergroup form field type|usergroup]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Depuis la version {{JVer|3.2}}, il convient d&#039;utiliser à la place &#039;[[S:MyLanguage/User Group List form field type|usergrouplist]]&#039;.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User Group List form field type|usergrouplist]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Remplace le type de champ de formulaire &#039;usergroup&#039;.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User State form field type|userstate]]&lt;br /&gt;
|Champ pour charger une liste des statuts utilisateurs disponibles.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Form fields/fr|Champs de formulaires]]&lt;br /&gt;
[[Category:Development Reference/fr|Références pour le développement]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/194/fr&amp;diff=883739</id>
		<title>Translations:Standard form field types/194/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/194/fr&amp;diff=883739"/>
		<updated>2022-02-18T12:30:14Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;et suivant&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;et suivant&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883738</id>
		<title>Standard form field types/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Standard_form_field_types/fr&amp;diff=883738"/>
		<updated>2022-02-18T12:29:55Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;fournit un accès modal au gestionnaire de médias pour l&amp;#039;insertion d&amp;#039;images avec téléchargement pour les utilisateurs ayant les autorisations appropriées et un champ de te...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
De nombreux types de [[S:MyLanguage/form field|champs de formulaires]] sont disponibles dans Joomla. Le tableau ci-dessous dresse la liste de ces types standards ainsi que leur disponibilité. Veuillez utiliser la [[S:MyLanguage/Standard_form_field_types/Single-page_reference|page de références]] si vous souhaitez imprimer la documentation sur l&#039;ensemble des champs de formulaires existants.&lt;br /&gt;
&lt;br /&gt;
Pour les versions {{JVer|1.5}}. Veuillez noter que plusieurs de ces champs sont disponibles en tant que [[S:MyLanguage/Parameter|types de paramètres]] pour Joomla! 1.5. Pour une liste des types de paramètres, veuillez consulter [[S:MyLanguage/J1.5:Standard parameter types|les types de paramètres standards pour Joomla! 1.5]]. Pour une comparaison entre les champs et les types de paramètres, veuillez consulter [[S:MyLanguage/Standard form field and parameter types|les champs de formulaires standards et les types de paramètres]].&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:top; border:1px solid Sienna; background-color:Cornsilk;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background-color:Wheat; font-weight:bold; text-align: left;&amp;quot;&lt;br /&gt;
!width=15%|Type&lt;br /&gt;
!width=65%|Description&lt;br /&gt;
!width=20%|Disponibilité&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accessiblemedia form field type|accessiblemedia]]&lt;br /&gt;
|fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs ayant les autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;br /&gt;
|{{JVer|4.0}} and newer&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Accesslevel form field type|accesslevel]]&lt;br /&gt;
|fournit une liste déroulante de visualisation des niveaux d&#039;accès.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Cachehandler form field type|cachehandler]]&lt;br /&gt;
|fournit une liste d&#039;options de mise en cache disponibles.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Calendar form field type|calendar]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;une date. Une icône à côté de la zone de texte fournit un lien vers un calendrier en fenêtre modale, qui peut également être utilisé pour entrer la valeur de la date.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Captcha form field type|captcha]]&lt;br /&gt;
|Permet l&#039;utilisation d&#039;un plugin captcha.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Category form field type|category]]&lt;br /&gt;
|fournit une liste déroulante des catégories pour une extension.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkbox form field type|checkbox]]&lt;br /&gt;
|fournit une case simple à cocher ou décocher.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Checkboxes form field type|checkboxes]]&lt;br /&gt;
|fournit un nombre illimité de cases à cocher qui peuvent être utilisées pour les multi-sélections.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ChromeStyle form field type|Chrome Style]]&lt;br /&gt;
|fournit une liste des templates avec options de style chrome regroupés par templates.&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Color form field type|color]]&lt;br /&gt;
|fournit un sélecteur de couleur en cliquant dans la zone de saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ContentLanguage form field type|Content Language]]&lt;br /&gt;
|fournit une liste des langues de contenu.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contenttype form field type|Content Type]]&lt;br /&gt;
|fournit une liste des types de contenu.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Combo form field type|combo]]&lt;br /&gt;
|fournit une un ensemble de champs cases.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Componentlayout form field type|componentlayout]]&lt;br /&gt;
|fournit une liste regroupant des templates et d&#039;affichages natifs alternatifs pour un élément de composant.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Contentlanguage form field type|contentlanguage]]&lt;br /&gt;
|fournit une liste de langues de contenu installées pour une utilisation avec le plugin de sélection des langues.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/DatabaseConnection form field type|Database Connection]]&lt;br /&gt;
|fournit une liste de connexions à la base de données disponible, éventuellement en limitant à une liste donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editor form field type|editor]]&lt;br /&gt;
|fournit un champ de zone de texte pour l&#039;éditeur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Editors form field type|editors]]&lt;br /&gt;
|fournit une liste déroulante des éditeurs WYSIWYG disponibles. Depuis la version {{JVer|2.5}}, il convient d&#039;utiliser à la place les [[S:MyLanguage/Plugins form field type|plugins de types de champs de formulaire]].&lt;br /&gt;
|{{JVer|1.6}}&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Email form field type|email]]&lt;br /&gt;
|fournit un champ de courriel.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/File form field type|file]]&lt;br /&gt;
|fournit un champ de saisie pour les fichiers.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Filelist form field type|filelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Folderlist form field type|folderlist]]&lt;br /&gt;
|fournit une liste déroulante des dossiers d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Groupedlist form field type|groupedlist]]&lt;br /&gt;
|fournit une liste déroulante d&#039;éléments organisés en groupes.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/HeaderTag form field type|header tag]]&lt;br /&gt;
|fournit une liste déroulante des balises de titre (h1-h6).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Helpsite form field type|helpsite]]&lt;br /&gt;
|fournit une liste déroulante des sites d&#039;aide pour votre installation Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Hidden form field type|hidden]]&lt;br /&gt;
|fournit un champ caché pour l&#039;enregistrement d&#039;un champ de formulaire dont la valeur ne peut pas être modifiée directement par un utilisateur dans l&#039;administration (elle peut être modifiée dans le code ou par modification du fichier &amp;quot;params.ini&amp;quot;).&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Imagelist form field type|imagelist]]&lt;br /&gt;
|fournit une liste déroulante de fichiers image d&#039;un répertoire spécifié.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Integer form field type|integer]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entiers compris entre un minimum et un maximum.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Language form field type|language]]&lt;br /&gt;
|fournit une liste déroulante des langues installées pour le frontend ou le backend.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/List form field type|list]]&lt;br /&gt;
|fournit une liste déroulante d&#039;entrées personnalisées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Media form field type|media]]&lt;br /&gt;
|fournit un accès en modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec chargement par les utilisateurs disposant des autorisations appropriées.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menu form field type|menu]]&lt;br /&gt;
|fournit une liste déroulante des menus disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Menuitem form field type|Menu Item]]&lt;br /&gt;
|fournit une liste déroulante des éléments de menu disponibles à partir de votre site Joomla.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[Meter form field type|meter]]&lt;br /&gt;
|fournit un compteur pour afficher la valeur dans une plage.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Modulelayout form field type|Module Layout]]&lt;br /&gt;
|fournit une liste d&#039;affichages alternatifs pour un groupe de modules natifs et de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleOrder form field type|Module Order]]&lt;br /&gt;
|fournit une liste déroulante pour définir les modules d&#039;une position donnée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModulePosition form field type|Module Position]]&lt;br /&gt;
|fournit une zone de texte pour définir la position d&#039;un module.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/ModuleTag form field type|Module Tag]]&lt;br /&gt;
|fournit une liste des éléments HTML5 (utilisé pour l&#039;intégration de module dans une fenêtre).&lt;br /&gt;
|{{JVer|3.0}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Note form field type|note]]&lt;br /&gt;
|fournit un champ texte d&#039;une ligne.&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Number form field type|number]]&lt;br /&gt;
|fournit une zone de texte d&#039;une ligne avec un champ déroulant de chiffres pour définir le champ.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Password form field type|password]]&lt;br /&gt;
|fournit une zone de texte pour la saisie d&#039;un mot de passe. Les caractères du mot de passe seront masqués lors de la saisie.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Plugins form field type|plugins]]&lt;br /&gt;
|fournit une liste de plugins à partir d&#039;un dossier donné.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Predefined List form field type|predefinedlist]]&lt;br /&gt;
|Champ de formulaire pour charger une liste de valeurs prédéfinies.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Radio form field type|radio]]&lt;br /&gt;
|fournit des boutons radio pour sélectionner différentes options.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Range form field type|range]]&lt;br /&gt;
|fournit une barre de défilement horizontale pour spécifier une valeur dans une plage donnée.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Repeatable form field type|repeatable]]&lt;br /&gt;
|autorise les champs de formulaire proposant autant d&#039;options que souhaitées par l&#039;utilisateur.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Rules form field type|rules]]&lt;br /&gt;
|fournit une matrice de groupe par options d&#039;action pour la gestion des contrôles d&#039;accès. L&#039;affichage dépend du contexte.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Sessionhandler form field type|sessionhandler]]&lt;br /&gt;
|fournit une liste déroulante de gestionnaire des options de session.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Spacer form field type|spacer]]&lt;br /&gt;
|fournit un séparateur visible entre les champs de formulaire. Ceci est simplement une aide visuelle et aucune valeur n&#039;est enregistrée.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/SQL form field type|sql]]&lt;br /&gt;
|fournit une liste déroulante des entrées obtenues par l&#039;exécution d&#039;une requête dans la base de données Joomla. La première colonne de résultats retournée par la requête fournit les valeurs de la liste déroulante.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/subform form field type|subform]]&lt;br /&gt;
|Permet l&#039;utilisation des formulaires XML à l’intérieur les uns des autres ou de réutiliser vos formulaires existants à l’intérieur de vos propres formulaires.&lt;br /&gt;
|{{JVer|3.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tag form field type|tag]]&lt;br /&gt;
|fournit un point d&#039;entrée pour les balises (AJAX ou imbriquées).&lt;br /&gt;
|{{JVer|3.1}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Tel form field type|tel]]&lt;br /&gt;
|fournit un champ de saisie pour numéro de téléphone.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Templatestyle form field type|templatestyle]]&lt;br /&gt;
|fournit une liste déroulante des styles de templates.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Text form field type|text]]&lt;br /&gt;
|fournit une zone de texte pour la saisie des données.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Textarea form field type|textarea]]&lt;br /&gt;
|fournit une zone de texte pour la saisie de texte en multi-ligne.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Timezone form field type|timezone]]&lt;br /&gt;
|fournit une liste déroulante des fuseaux horaires.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/URL form field type|URL]]&lt;br /&gt;
|fournit un champ de saisie d&#039;URL.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User form field type|user]]&lt;br /&gt;
|Champ pour sélectionner un utilisateur à partir d&#039;une liste modale. Affiche le nom d&#039;utilisateur et stocke l&#039;ID d&#039;utilisateur.&lt;br /&gt;
|{{JVer|1.6}} et suivant&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/UserActive form field type|useractive]]&lt;br /&gt;
|fournit une liste des utilisateurs actifs. &lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/Usergroup form field type|usergroup]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Depuis la version {{JVer|3.2}}, il convient d&#039;utiliser à la place &#039;[[S:MyLanguage/User Group List form field type|usergrouplist]]&#039;.&lt;br /&gt;
|{{JVer|2.5}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User Group List form field type|usergrouplist]]&lt;br /&gt;
|fournit une liste déroulante des groupes d&#039;utilisateurs. Remplace le type de champ de formulaire &#039;usergroup&#039;.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[S:MyLanguage/User State form field type|userstate]]&lt;br /&gt;
|Champ pour charger une liste des statuts utilisateurs disponibles.&lt;br /&gt;
|{{JVer|3.2}} et suivant&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Form fields/fr|Champs de formulaires]]&lt;br /&gt;
[[Category:Development Reference/fr|Références pour le développement]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/193/fr&amp;diff=883737</id>
		<title>Translations:Standard form field types/193/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/193/fr&amp;diff=883737"/>
		<updated>2022-02-18T12:29:55Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;fournit un accès modal au gestionnaire de médias pour l&amp;#039;insertion d&amp;#039;images avec téléchargement pour les utilisateurs ayant les autorisations appropriées et un champ de te...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;fournit un accès modal au gestionnaire de médias pour l&#039;insertion d&#039;images avec téléchargement pour les utilisateurs ayant les autorisations appropriées et un champ de texte pour ajouter un texte alternatif.&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/192/fr&amp;diff=883736</id>
		<title>Translations:Standard form field types/192/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:Standard_form_field_types/192/fr&amp;diff=883736"/>
		<updated>2022-02-18T12:28:16Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;accessiblemedia&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;accessiblemedia&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Http_Header_Management/fr&amp;diff=777847</id>
		<title>J4.x:Http Header Management/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Http_Header_Management/fr&amp;diff=777847"/>
		<updated>2021-01-12T13:41:12Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Interface de Stratégie de Sécurité du Contenu&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.0}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|icon=magic|icon-color=#5091cd|size=3x|text-color=#333|title=Didacticiel&amp;lt;br /&amp;gt;Comment utiliser le nouveau gestionnaire d&#039;en-têtes HTTP dans Joomla 4.0}}&lt;br /&gt;
&lt;br /&gt;
À partir de Joomla 4.0, Joomla a introduit un système de gestion d&#039;en-tête HTTP. Ce système est conçu pour aider les propriétaires de sites à configurer les en-têtes de sécurité HTTP à partir du serveur principal.&lt;br /&gt;
&lt;br /&gt;
Dans ce didacticiel, vous trouverez les informations sur comment paramétrer ce nouveau système.&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
&lt;br /&gt;
===Système - En-têtes HTTP (plg_system_httpheaders)===&lt;br /&gt;
Naviguez à {{rarr|Système,Plugins,Système- En-têtes HTTP}} pour accéder à la configuration du plugin.&lt;br /&gt;
&lt;br /&gt;
==== Configuration du Plugin ====&lt;br /&gt;
 &lt;br /&gt;
Sur cette page, vous pouvez choisir d&#039;activer l&#039;écriture des en-têtes dans les fichiers de configuration du serveur (.htaccess et web.config) et de définir si les en-têtes http suivants sont activés.&lt;br /&gt;
* [https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options X-Frame-Options]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-referrer-policy/ Referrer-Policy]&lt;br /&gt;
* [https://www.chromestatus.com/feature/5432089535053824 Cross-Origin-Opener-Policy]&lt;br /&gt;
&lt;br /&gt;
En utilisant le formulaire &amp;quot;Forcer l&#039;en-tête&amp;quot;, vous pouvez également forcer les en-têtes suivants avec ses valeurs:&lt;br /&gt;
* [https://scotthelme.co.uk/hsts-the-missing-link-in-tls/ Strict-Transport-Security]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/ Content-Security-Policy]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/#testingapolicy Content-Security-Policy-Report-Only]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-expect-ct/ Expect-CT]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-feature-policy/ Feature-Policy &amp;amp; Permissions-Policy]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-to Report-to]&lt;br /&gt;
&lt;br /&gt;
[[File:Plg-system-httpheaders-options-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
===Configuration Strict-Transport-Security (HSTS)===&lt;br /&gt;
 &lt;br /&gt;
À partir de cette page, vous pouvez choisir d&#039;activer l&#039;en-tête Strict-Transport-Security (HSTS) ainsi que de configurer la valeur max-age si les sous-domaines doivent être inclus et si vous souhaitez être ajouté à la liste de préchargement des navigateurs.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[File:Plg-system-httpheaders-options-hsts-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
== Composant ==&lt;br /&gt;
&lt;br /&gt;
===Politique de sécurité du contenu (com_csp)===&lt;br /&gt;
Accédez à {{rarr|System,Politique de Sécurité du Contenu}} pour accéder au tableau de bord Rapports de Politique de Sécurité du Contenu.&lt;br /&gt;
&lt;br /&gt;
====Rapports====&lt;br /&gt;
&lt;br /&gt;
À partir de cet écran, l&#039;administrateur a une vue d&#039;ensemble des rapports de Stratégie de Sécurité du Contenu collectés et a la possibilité de réviser, publier, dépublier et supprimer les règles suggérées pour la directive de Stratégie de Sécurité du Contenu.&lt;br /&gt;
&lt;br /&gt;
[[Image:content-security-policy-reports-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour en savoir plus, veuillez consulter: [[S:MyLanguage/Help4.x:Components_CSP_Reports|Interface de Stratégie de Sécurité du Contenu]] &lt;br /&gt;
&lt;br /&gt;
====Paramètres====&lt;br /&gt;
&lt;br /&gt;
From this screen you can configure the options of the component like the permissions and specificly the settings for the Content-Security-Policy, including different modes and whether the headers are in read only mode.&lt;br /&gt;
&lt;br /&gt;
[[Image:content-security-policy-options-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
To learn more, please see: [[S:MyLanguage/Help4.x:Components_CSP_Reports_Options|Content Security Policy Options]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
When you have configured some HTTP Security Headers directly on the server, then our tooling might create double entries.&lt;br /&gt;
&lt;br /&gt;
Check the output of your HTTP Headers after configuring in the browser console. In Google Chrome: Inspect &amp;gt; Network &amp;gt; the output under Headers). You can than disable the headers that cause double entries. Also check the console of your browser for possible errors.&lt;br /&gt;
&lt;br /&gt;
==Développeurs d&#039;extension==&lt;br /&gt;
As you might know the big security advantage concerning Content Security Policy jumps in when we can use the Header to block all inline JavaScript and inline CSS affecting for example JavaScript event handlers via HTML attributes.&lt;br /&gt;
So with this browser protection enabled we will block inline JavaScript and inline CSS usage also for your extensions. That protection is not enabled by default but can be enabled by your users.&lt;br /&gt;
&lt;br /&gt;
For 4.0 it would be recommended to get the frontend of your extension running with strict Content Security Policy enabled. For 4.1 compatibility it would be recommended that this also applies to your backend.&lt;br /&gt;
&lt;br /&gt;
We know that it is still a requirement to have inline JavaScript and CSS, for that reason we have implemented nonce and hash support into our Document APIs when you use them the core will make sure they are whitelisted but we will still block any malicious to protect our sites.&lt;br /&gt;
&lt;br /&gt;
=== Important notes for Extension Developers ===&lt;br /&gt;
Starting with Joomla 4.0 Content Security Policy:&lt;br /&gt;
* is shipped by the core&lt;br /&gt;
* is disabled by default&lt;br /&gt;
* can be enabled by your users&lt;br /&gt;
* it is strongly recommended that your extension frontend works by 4.0 with Content Security Policy enabled&lt;br /&gt;
* it is recommended that your extension backend works by 4.1 with Content Security Policy enabled&lt;br /&gt;
&lt;br /&gt;
With strict Content Security Policy enabled the following features will be blocked:&lt;br /&gt;
* the execution of JavaScript via the HTML event handlers (onXXX handlers like onClick and similar)&lt;br /&gt;
* the execution of in-page JavaScript not passed to the page via the Document API&lt;br /&gt;
* the execution of JavaScript code injected into DOM APIs such as eval()&lt;br /&gt;
* the usage of inline in-page CSS not passed to the page via the Document API&lt;br /&gt;
* the usage of inline CSS using the HTML style attribute&lt;br /&gt;
&lt;br /&gt;
To get your extensions work even with strict Content Security Policy enabled, the easiest way is to use the Document API to apply your inline JavaScript and CSS, please check the examples below. &lt;br /&gt;
&lt;br /&gt;
===Ajout de JavaScript à l&#039;aide de l&#039;API Joomla===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
use Joomla\CMS\Factory;&lt;br /&gt;
&lt;br /&gt;
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */&lt;br /&gt;
$wa = Factory::getApplication()-&amp;gt;getDocument()-&amp;gt;getWebAssetManager();&lt;br /&gt;
&lt;br /&gt;
// Add JavaScript from URL&lt;br /&gt;
$wa-&amp;gt;registerAndUseScript(&#039;com_example.sample&#039;, &#039;https://example.org/sample.js&#039;, [], [&#039;defer&#039; =&amp;gt; true]);&lt;br /&gt;
&lt;br /&gt;
// Add inline JavaScript&lt;br /&gt;
$wa-&amp;gt;addInlineScript(&#039;&lt;br /&gt;
    document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function(event) {&lt;br /&gt;
        alert(&amp;quot;An inline JavaScript Declaration&amp;quot;);&lt;br /&gt;
    });&lt;br /&gt;
&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ajout de CSS à l&#039;aide de l&#039;API Joomla===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
use Joomla\CMS\Factory;&lt;br /&gt;
&lt;br /&gt;
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */&lt;br /&gt;
$wa = Factory::getApplication()-&amp;gt;getDocument()-&amp;gt;getWebAssetManager();&lt;br /&gt;
&lt;br /&gt;
// Add Style from URL&lt;br /&gt;
$wa-&amp;gt;registerAndUseStyle(&#039;com_example.sample&#039;, &#039;https://example.org/sample.css&#039;);&lt;br /&gt;
&lt;br /&gt;
// Add inline Style&lt;br /&gt;
$wa-&amp;gt;addInlineStyle(&#039;&lt;br /&gt;
	body {&lt;br /&gt;
		background: #00ff00;&lt;br /&gt;
		color: rgb(0,0,255);&lt;br /&gt;
	}&lt;br /&gt;
&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails ici:[[S:MyLanguage/J3.x:Adding_JavaScript_and_CSS_to_the_page|Ajouter du JavaScript et des CSS à une page]]&lt;br /&gt;
&lt;br /&gt;
== Additional resources about Content Security Policy and HTTP Headers ==&lt;br /&gt;
&lt;br /&gt;
* [https://scotthelme.co.uk/csp-cheat-sheet/| CSP Cheat Sheet]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/| Content Security Policy - An Introduction]&lt;br /&gt;
* [https://securityheaders.com/| SecurityHeaders.com (by Scott Helme)]&lt;br /&gt;
* [https://csp-evaluator.withgoogle.com/| CSP Evaluator]&lt;br /&gt;
* [https://developers.google.com/web/fundamentals/security/csp| Web Fundamentals Content Security Policy]&lt;br /&gt;
* [https://csp.withgoogle.com/docs/index.html| Google&#039;s CSP Documentation]&lt;br /&gt;
* [https://research.google/pubs/pub45542/| CSP Is Dead, Long Live CSP! On the Insecurity of Whitelists and the Future of Content Security Policy]&lt;br /&gt;
* [https://web.dev/tags/security/| web.dev tag Security]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Components{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.0{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Plugins{{#translation:}}]]&lt;br /&gt;
[[Category:Security{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Translations:J4.x:Http_Header_Management/22/fr&amp;diff=777846</id>
		<title>Translations:J4.x:Http Header Management/22/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Translations:J4.x:Http_Header_Management/22/fr&amp;diff=777846"/>
		<updated>2021-01-12T13:41:11Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Interface de Stratégie de Sécurité du Contenu&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Interface de Stratégie de Sécurité du Contenu&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=J4.x:Http_Header_Management/fr&amp;diff=777845</id>
		<title>J4.x:Http Header Management/fr</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=J4.x:Http_Header_Management/fr&amp;diff=777845"/>
		<updated>2021-01-12T13:40:30Z</updated>

		<summary type="html">&lt;p&gt;Shim-sao: Created page with &amp;quot;Pour en savoir plus, veuillez consulter:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&amp;lt;languages /&amp;gt;&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;{{Joomla version|version=4.0}}&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
{{Top portal heading|color=white-bkgd|icon=magic|icon-color=#5091cd|size=3x|text-color=#333|title=Didacticiel&amp;lt;br /&amp;gt;Comment utiliser le nouveau gestionnaire d&#039;en-têtes HTTP dans Joomla 4.0}}&lt;br /&gt;
&lt;br /&gt;
À partir de Joomla 4.0, Joomla a introduit un système de gestion d&#039;en-tête HTTP. Ce système est conçu pour aider les propriétaires de sites à configurer les en-têtes de sécurité HTTP à partir du serveur principal.&lt;br /&gt;
&lt;br /&gt;
Dans ce didacticiel, vous trouverez les informations sur comment paramétrer ce nouveau système.&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
&lt;br /&gt;
===Système - En-têtes HTTP (plg_system_httpheaders)===&lt;br /&gt;
Naviguez à {{rarr|Système,Plugins,Système- En-têtes HTTP}} pour accéder à la configuration du plugin.&lt;br /&gt;
&lt;br /&gt;
==== Configuration du Plugin ====&lt;br /&gt;
 &lt;br /&gt;
Sur cette page, vous pouvez choisir d&#039;activer l&#039;écriture des en-têtes dans les fichiers de configuration du serveur (.htaccess et web.config) et de définir si les en-têtes http suivants sont activés.&lt;br /&gt;
* [https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options X-Frame-Options]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-referrer-policy/ Referrer-Policy]&lt;br /&gt;
* [https://www.chromestatus.com/feature/5432089535053824 Cross-Origin-Opener-Policy]&lt;br /&gt;
&lt;br /&gt;
En utilisant le formulaire &amp;quot;Forcer l&#039;en-tête&amp;quot;, vous pouvez également forcer les en-têtes suivants avec ses valeurs:&lt;br /&gt;
* [https://scotthelme.co.uk/hsts-the-missing-link-in-tls/ Strict-Transport-Security]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/ Content-Security-Policy]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/#testingapolicy Content-Security-Policy-Report-Only]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-expect-ct/ Expect-CT]&lt;br /&gt;
* [https://scotthelme.co.uk/a-new-security-header-feature-policy/ Feature-Policy &amp;amp; Permissions-Policy]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/report-to Report-to]&lt;br /&gt;
&lt;br /&gt;
[[File:Plg-system-httpheaders-options-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
===Configuration Strict-Transport-Security (HSTS)===&lt;br /&gt;
 &lt;br /&gt;
À partir de cette page, vous pouvez choisir d&#039;activer l&#039;en-tête Strict-Transport-Security (HSTS) ainsi que de configurer la valeur max-age si les sous-domaines doivent être inclus et si vous souhaitez être ajouté à la liste de préchargement des navigateurs.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[[File:Plg-system-httpheaders-options-hsts-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
== Composant ==&lt;br /&gt;
&lt;br /&gt;
===Politique de sécurité du contenu (com_csp)===&lt;br /&gt;
Accédez à {{rarr|System,Politique de Sécurité du Contenu}} pour accéder au tableau de bord Rapports de Politique de Sécurité du Contenu.&lt;br /&gt;
&lt;br /&gt;
====Rapports====&lt;br /&gt;
&lt;br /&gt;
À partir de cet écran, l&#039;administrateur a une vue d&#039;ensemble des rapports de Stratégie de Sécurité du Contenu collectés et a la possibilité de réviser, publier, dépublier et supprimer les règles suggérées pour la directive de Stratégie de Sécurité du Contenu.&lt;br /&gt;
&lt;br /&gt;
[[Image:content-security-policy-reports-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour en savoir plus, veuillez consulter: [[S:MyLanguage/Help4.x:Components_CSP_Reports|Content Security Policy Interface]] &lt;br /&gt;
&lt;br /&gt;
====Paramètres====&lt;br /&gt;
&lt;br /&gt;
From this screen you can configure the options of the component like the permissions and specificly the settings for the Content-Security-Policy, including different modes and whether the headers are in read only mode.&lt;br /&gt;
&lt;br /&gt;
[[Image:content-security-policy-options-en.png|center|800px]]&lt;br /&gt;
&lt;br /&gt;
To learn more, please see: [[S:MyLanguage/Help4.x:Components_CSP_Reports_Options|Content Security Policy Options]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&lt;br /&gt;
When you have configured some HTTP Security Headers directly on the server, then our tooling might create double entries.&lt;br /&gt;
&lt;br /&gt;
Check the output of your HTTP Headers after configuring in the browser console. In Google Chrome: Inspect &amp;gt; Network &amp;gt; the output under Headers). You can than disable the headers that cause double entries. Also check the console of your browser for possible errors.&lt;br /&gt;
&lt;br /&gt;
==Développeurs d&#039;extension==&lt;br /&gt;
As you might know the big security advantage concerning Content Security Policy jumps in when we can use the Header to block all inline JavaScript and inline CSS affecting for example JavaScript event handlers via HTML attributes.&lt;br /&gt;
So with this browser protection enabled we will block inline JavaScript and inline CSS usage also for your extensions. That protection is not enabled by default but can be enabled by your users.&lt;br /&gt;
&lt;br /&gt;
For 4.0 it would be recommended to get the frontend of your extension running with strict Content Security Policy enabled. For 4.1 compatibility it would be recommended that this also applies to your backend.&lt;br /&gt;
&lt;br /&gt;
We know that it is still a requirement to have inline JavaScript and CSS, for that reason we have implemented nonce and hash support into our Document APIs when you use them the core will make sure they are whitelisted but we will still block any malicious to protect our sites.&lt;br /&gt;
&lt;br /&gt;
=== Important notes for Extension Developers ===&lt;br /&gt;
Starting with Joomla 4.0 Content Security Policy:&lt;br /&gt;
* is shipped by the core&lt;br /&gt;
* is disabled by default&lt;br /&gt;
* can be enabled by your users&lt;br /&gt;
* it is strongly recommended that your extension frontend works by 4.0 with Content Security Policy enabled&lt;br /&gt;
* it is recommended that your extension backend works by 4.1 with Content Security Policy enabled&lt;br /&gt;
&lt;br /&gt;
With strict Content Security Policy enabled the following features will be blocked:&lt;br /&gt;
* the execution of JavaScript via the HTML event handlers (onXXX handlers like onClick and similar)&lt;br /&gt;
* the execution of in-page JavaScript not passed to the page via the Document API&lt;br /&gt;
* the execution of JavaScript code injected into DOM APIs such as eval()&lt;br /&gt;
* the usage of inline in-page CSS not passed to the page via the Document API&lt;br /&gt;
* the usage of inline CSS using the HTML style attribute&lt;br /&gt;
&lt;br /&gt;
To get your extensions work even with strict Content Security Policy enabled, the easiest way is to use the Document API to apply your inline JavaScript and CSS, please check the examples below. &lt;br /&gt;
&lt;br /&gt;
===Ajout de JavaScript à l&#039;aide de l&#039;API Joomla===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
use Joomla\CMS\Factory;&lt;br /&gt;
&lt;br /&gt;
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */&lt;br /&gt;
$wa = Factory::getApplication()-&amp;gt;getDocument()-&amp;gt;getWebAssetManager();&lt;br /&gt;
&lt;br /&gt;
// Add JavaScript from URL&lt;br /&gt;
$wa-&amp;gt;registerAndUseScript(&#039;com_example.sample&#039;, &#039;https://example.org/sample.js&#039;, [], [&#039;defer&#039; =&amp;gt; true]);&lt;br /&gt;
&lt;br /&gt;
// Add inline JavaScript&lt;br /&gt;
$wa-&amp;gt;addInlineScript(&#039;&lt;br /&gt;
    document.addEventListener(&amp;quot;DOMContentLoaded&amp;quot;, function(event) {&lt;br /&gt;
        alert(&amp;quot;An inline JavaScript Declaration&amp;quot;);&lt;br /&gt;
    });&lt;br /&gt;
&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Ajout de CSS à l&#039;aide de l&#039;API Joomla===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
use Joomla\CMS\Factory;&lt;br /&gt;
&lt;br /&gt;
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */&lt;br /&gt;
$wa = Factory::getApplication()-&amp;gt;getDocument()-&amp;gt;getWebAssetManager();&lt;br /&gt;
&lt;br /&gt;
// Add Style from URL&lt;br /&gt;
$wa-&amp;gt;registerAndUseStyle(&#039;com_example.sample&#039;, &#039;https://example.org/sample.css&#039;);&lt;br /&gt;
&lt;br /&gt;
// Add inline Style&lt;br /&gt;
$wa-&amp;gt;addInlineStyle(&#039;&lt;br /&gt;
	body {&lt;br /&gt;
		background: #00ff00;&lt;br /&gt;
		color: rgb(0,0,255);&lt;br /&gt;
	}&lt;br /&gt;
&#039;);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails ici:[[S:MyLanguage/J3.x:Adding_JavaScript_and_CSS_to_the_page|Ajouter du JavaScript et des CSS à une page]]&lt;br /&gt;
&lt;br /&gt;
== Additional resources about Content Security Policy and HTTP Headers ==&lt;br /&gt;
&lt;br /&gt;
* [https://scotthelme.co.uk/csp-cheat-sheet/| CSP Cheat Sheet]&lt;br /&gt;
* [https://scotthelme.co.uk/content-security-policy-an-introduction/| Content Security Policy - An Introduction]&lt;br /&gt;
* [https://securityheaders.com/| SecurityHeaders.com (by Scott Helme)]&lt;br /&gt;
* [https://csp-evaluator.withgoogle.com/| CSP Evaluator]&lt;br /&gt;
* [https://developers.google.com/web/fundamentals/security/csp| Web Fundamentals Content Security Policy]&lt;br /&gt;
* [https://csp.withgoogle.com/docs/index.html| Google&#039;s CSP Documentation]&lt;br /&gt;
* [https://research.google/pubs/pub45542/| CSP Is Dead, Long Live CSP! On the Insecurity of Whitelists and the Future of Content Security Policy]&lt;br /&gt;
* [https://web.dev/tags/security/| web.dev tag Security]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Components{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.0{{#translation:}}]]&lt;br /&gt;
[[Category:Joomla! 4.x{{#translation:}}]]&lt;br /&gt;
[[Category:Plugins{{#translation:}}]]&lt;br /&gt;
[[Category:Security{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Shim-sao</name></author>
	</entry>
</feed>