* @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Form\Form; use Joomla\CMS\Language\Text; extract($displayData); /** * Layout variables * ----------------- * @var Form $tmpl The Empty form for template * @var array $forms Array of JForm instances for render the rows * @var bool $multiple The multiple state for the form field * @var int $min Count of minimum repeating in multiple mode * @var int $max Count of maximum repeating in multiple mode * @var string $name Name of the input field. * @var string $fieldname The field name * @var string $fieldId The field ID * @var string $control The forms control * @var string $label The field label * @var string $description The field description * @var string $class Classes for the container * @var array $buttons Array of the buttons that will be rendered * @var bool $groupByFieldset Whether group the subform fields by it`s fieldset */ if ($multiple) { // Add script Factory::getApplication() ->getDocument() ->getWebAssetManager() ->useScript('webcomponent.field-subform'); } $class = $class ? ' ' . $class : ''; // Build heading $table_head = ''; if (!empty($groupByFieldset)) { foreach ($tmpl->getFieldsets() as $fieldset) { $table_head .= '' . Text::_($fieldset->label); if ($fieldset->description) { $table_head .= ''; } $table_head .= ''; } $sublayout = 'section-byfieldsets'; } else { foreach ($tmpl->getGroup('') as $field) { $table_head .= '' . strip_tags($field->label); if ($field->description) { $table_head .= ''; } $table_head .= ''; } $sublayout = 'section'; // Label will not be shown for sections layout, so reset the margin left Factory::getApplication() ->getDocument() ->addStyleDeclaration('.subform-table-sublayout-section .controls { margin-left: 0px }'); } ?>
$form) : echo $this->sublayout($sublayout, array('form' => $form, 'basegroup' => $fieldname, 'group' => $fieldname . $k, 'buttons' => $buttons)); endforeach; ?>