Repeatable form field type/fa

From Joomla! Documentation

This page is a translated version of the page Repeatable form field type and the translation is 4% complete.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎فارسی
This field is deprecated

Please use the Subform form field type (in multiple mode) instead.

Provides a modal with rows of formfields that you specify. As many options can be added as desired. Note this form field has a jQuery based javascript file as a dependency.

  • name (mandatory) is the unique name of the parameter.
  • type (mandatory) must be repeatable.
  • label (mandatory) (translatable) is the descriptive title of the field.
  • description description text for the form field. Displays at the top of the modal with the name as well as in the usual position in the form.
  • default The default value for the form field if the field is left empty. Note this has to be a json string compatible with the contents of the form field.
  • id id of the hidden form field. (the modal will have this id with an added suffix of "_modal" and the table within the modal will have this id with a suffix of "_modal_table").
  • class class of the table.
  • select (translatable) The text to show on the modal button.
  • icon the icon to show on the select button (is prefixed with "icon-").
  • maximum the maximum number of rows of fields allowed (by default 999 to be effectively infinite).

To create a form field you must first of all create a repeatable form field as usual.


Within this you place open and close tag (if not already in one - if there is an existing fields tag for params etc. this is not needed.) and within this a tag.


The fieldset tag MUST have a name the same as your repeatable field name with "_modal" appended to the end of it - it should also have the in the fieldset tag.


Within this fieldset you then include the form fields that you wish to have repeating (as with any form field).

Example XML Definition

<field name="list_templates"
	default='{"template":["Layout","Simple snippet"],
		"description":["HTMLLayout","Simple HTML snippet"]}'>
	<fieldset hidden="true" name="list_templates_modal" repeat="true">
		<field name="template"
			type="text" />
		<field name="location"
			hide_none="true" />
		<field name="description"
			type="textarea" />

Considerations for the default value

  • The default may contain spaces tabs and new lines [1] (makes for better readability)
  • The data elements within the string must be quoted using " instead of '. Failure to do so will cause the json decode to fail on the default values.

Retrieving your data

The settings of a repeatable form field are returned as a json encoded array (same as the default)

// get the repeatable field value and decode it
$list_hosts 	 = json_decode( $params->get('list_templates'),true);
// loop your result
foreach( $list_templates as $list_templates_idx => $list_template ) {
   // do something clever for each of the templates