Skip to content

Commit ac2afac

Browse files
authored
Add form layout option to custom fields (#36551)
1 parent dc81fb4 commit ac2afac

File tree

8 files changed

+51
-0
lines changed

8 files changed

+51
-0
lines changed

administrator/components/com_fields/src/Plugin/FieldsPlugin.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,11 @@ public function onCustomFieldsPrepareDom($field, \DOMElement $parent, Form $form
200200
$node->setAttribute('hint', $field->params->get('hint', ''));
201201
$node->setAttribute('required', $field->required ? 'true' : 'false');
202202

203+
if ($layout = $field->params->get('form_layout'))
204+
{
205+
$node->setAttribute('layout', $layout);
206+
}
207+
203208
if ($field->default_value !== '')
204209
{
205210
$defaultNode = $node->appendChild(new \DOMElement('default'));

administrator/language/en-GB/com_fields.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ COM_FIELDS_FIELD_EDITABLE_IN_BOTH="Both"
2121
COM_FIELDS_FIELD_EDITABLE_IN_LABEL="Editable In"
2222
COM_FIELDS_FIELD_EDITABLE_IN_SITE="Site"
2323
COM_FIELDS_FIELD_FORM_EDIT="Edit Field"
24+
COM_FIELDS_FIELD_FORM_LAYOUT_LABEL="Layout"
2425
COM_FIELDS_FIELD_FORM_NEW="New Field"
2526
COM_FIELDS_FIELD_FORMOPTIONS_HEADING="Form Options"
2627
COM_FIELDS_FIELD_GROUP_LABEL="Field Group"

administrator/language/en-GB/plg_fields_list.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
PLG_FIELDS_LIST="Fields - List"
77
PLG_FIELDS_LIST_LABEL="List (%s)"
8+
PLG_FIELDS_LIST_PARAMS_FORM_LAYOUT_FANCY_SELECT="Enhanced select"
89
PLG_FIELDS_LIST_PARAMS_MULTIPLE_LABEL="Multiple"
910
PLG_FIELDS_LIST_PARAMS_OPTIONS_LABEL="List Values"
1011
PLG_FIELDS_LIST_PARAMS_OPTIONS_NAME_LABEL="Text"

administrator/language/en-GB/plg_fields_radio.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55

66
PLG_FIELDS_RADIO="Fields - Radio"
77
PLG_FIELDS_RADIO_LABEL="Radio (%s)"
8+
PLG_FIELDS_RADIO_PARAMS_FORM_LAYOUT_BUTTONS="Buttons"
9+
PLG_FIELDS_RADIO_PARAMS_FORM_LAYOUT_SWITCHER="Switcher"
810
PLG_FIELDS_RADIO_PARAMS_OPTIONS_LABEL="Radio Values"
911
PLG_FIELDS_RADIO_PARAMS_OPTIONS_NAME_LABEL="Text"
1012
PLG_FIELDS_RADIO_PARAMS_OPTIONS_VALUE_LABEL="Value"

administrator/language/en-GB/plg_fields_sql.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
PLG_FIELDS_SQL="Fields - SQL"
77
PLG_FIELDS_SQL_CREATE_NOT_POSSIBLE="Only a Super User can create or edit an SQL field!"
88
PLG_FIELDS_SQL_LABEL="SQL (%s)"
9+
PLG_FIELDS_SQL_PARAMS_FORM_LAYOUT_FANCY_SELECT="Enhanced select"
910
PLG_FIELDS_SQL_PARAMS_MULTIPLE_LABEL="Multiple"
1011
PLG_FIELDS_SQL_PARAMS_QUERY_DESC="The SQL query which will provide the data for the dropdown list. The query must return two columns; one called 'value' which will hold the values of the list items; the other called 'text' with the text in the dropdown list." ; The terms 'value' and 'text' should not be translated
1112
PLG_FIELDS_SQL_PARAMS_QUERY_LABEL="Query"

plugins/fields/list/params/list.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,19 @@
4040
</field>
4141
</fieldset>
4242
</fields>
43+
<fields name="params">
44+
<fieldset name="basic">
45+
<fieldset name="formoptions">
46+
<field
47+
name="form_layout"
48+
type="list"
49+
label="COM_FIELDS_FIELD_FORM_LAYOUT_LABEL"
50+
class="form-select"
51+
>
52+
<option value="joomla.form.field.list">JDEFAULT</option>
53+
<option value="joomla.form.field.list-fancy-select">PLG_FIELDS_LIST_PARAMS_FORM_LAYOUT_FANCY_SELECT</option>
54+
</field>
55+
</fieldset>
56+
</fieldset>
57+
</fields>
4358
</form>

plugins/fields/radio/params/radio.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@
3939
default="btn-group"
4040
validate="CssIdentifier"
4141
/>
42+
<fieldset name="formoptions">
43+
<field
44+
name="form_layout"
45+
type="list"
46+
label="COM_FIELDS_FIELD_FORM_LAYOUT_LABEL"
47+
class="form-select"
48+
>
49+
<option value="joomla.form.field.radio.buttons">PLG_FIELDS_RADIO_PARAMS_FORM_LAYOUT_BUTTONS</option>
50+
<option value="joomla.form.field.radio.switcher">PLG_FIELDS_RADIO_PARAMS_FORM_LAYOUT_SWITCHER</option>
51+
</field>
52+
</fieldset>
4253
</fieldset>
4354
</fields>
4455
</form>

plugins/fields/sql/params/sql.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,19 @@
2525
</field>
2626
</fieldset>
2727
</fields>
28+
<fields name="params">
29+
<fieldset name="basic">
30+
<fieldset name="formoptions">
31+
<field
32+
name="form_layout"
33+
type="list"
34+
label="COM_FIELDS_FIELD_FORM_LAYOUT_LABEL"
35+
class="form-select"
36+
>
37+
<option value="joomla.form.field.list">JDEFAULT</option>
38+
<option value="joomla.form.field.list-fancy-select">PLG_FIELDS_SQL_PARAMS_FORM_LAYOUT_FANCY_SELECT</option>
39+
</field>
40+
</fieldset>
41+
</fieldset>
42+
</fields>
2843
</form>

0 commit comments

Comments
 (0)