Actions

Difference between revisions of "Repeatable form field type"

From Joomla! Documentation

m (Correct tabbing)
(Add more details in on creating a form field)
Line 5: Line 5:
 
* '''label''' (mandatory) (translatable) is the descriptive title of the field.
 
* '''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
 
* '''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.
+
* '''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 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")
 
* '''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")
 
* '''class''' class of the table.
 
* '''class''' class of the table.
Line 11: Line 11:
 
* '''icon''' the icon to show on the select button (is prefixed with "icon-").
 
* '''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)
 
* '''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 <source lang="php">
 +
<fields></source> open and close tag and within this a <source lang="php">
 +
<fieldset></source> 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 <source lang="php">
 +
repeat=true</source> 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
 
Example XML Definition

Revision as of 10:53, 23 February 2014

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 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")
  • 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

<fields>

open and close tag and within this a

<fieldset>

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

repeat=true

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"
        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']}">
        <fields name="params">
        <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>
        </fields>
</field>