Difference between revisions of "Repeatable form field type"

From Joomla! Documentation

m
Line 14: Line 14:
 
* '''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.</translate>
 
* '''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.</translate>
 
<translate><!--T:7-->
 
<translate><!--T:7-->
* '''id''' id of the hidden from 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").</translate>
+
* '''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").</translate>
 
<translate><!--T:8-->
 
<translate><!--T:8-->
 
* '''class''' class of the table.</translate>
 
* '''class''' class of the table.</translate>

Revision as of 08:54, 29 September 2015

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎فارسی

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.

<fields>

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.

<fieldset>

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.

repeat="true"

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"
	type="Repeatable"
	icon="list"
	description="PLG_TINY_FIELD_TEMPLATE_FIELD_ELEMENTS_DESC"
	label="PLG_TINY_FIELD_TEMPLATE_FIELD_ELEMENTS_LABEL"
	default="{'template':['Layout','Simple snippet'],'location':['layout1.html','snippet1.html'],'description':['HTMLLayout','Simple HTML snippet']}">
	<fieldset hidden="true" name="list_templates_modal" repeat="true">
		<field name="template"
			label="PLG_TINY_FIELD_TEMPLATE_FIELD_NAME_LABEL"
			size="30"
			type="text" />
		<field name="location"
			label="PLG_TINY_FIELD_TEMPLATE_FIELD_LOCATION_LABEL"
			description="PLG_TINY_FIELD_TEMPLATE_LOCATION_DESC"
			size="30"
			type="filelist"
			directory="media/editors/tinymce/templates"
			exclude="index.html"
			hide_default="true"
			hide_none="true" />
		<field name="description"
			label="PLG_TINY_FIELD_TEMPLATE_FIELD_DESCRIPTION_LABEL"
			size="30"
			type="textarea" />
	</fieldset>
</field>