61 lines
1.5 KiB
PHP
61 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package Joomla.Plugin
|
|
* @subpackage Fields.Subform
|
|
*
|
|
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
|
|
use Joomla\Component\Fields\Administrator\Helper\FieldsHelper;
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
if (!$context || empty($field->subform_rows)) {
|
|
return;
|
|
}
|
|
|
|
$result = '';
|
|
|
|
// Iterate over each row that we have
|
|
foreach ($field->subform_rows as $subform_row) {
|
|
// Placeholder array to generate this rows output
|
|
$row_output = [];
|
|
|
|
// Iterate over each sub field inside of that row
|
|
foreach ($subform_row as $subfield) {
|
|
$class = trim($subfield->params->get('render_class', ''));
|
|
$layout = trim($subfield->params->get('layout', 'render'));
|
|
$content = trim(
|
|
FieldsHelper::render(
|
|
$context,
|
|
'field.' . $layout, // normally just 'field.render'
|
|
['field' => $subfield]
|
|
)
|
|
);
|
|
|
|
// Skip empty output
|
|
if ($content === '') {
|
|
continue;
|
|
}
|
|
|
|
// Generate the output for this sub field and row
|
|
$row_output[] = '<span class="field-entry' . ($class ? (' ' . $class) : '') . '">' . $content . '</span>';
|
|
}
|
|
|
|
// Skip empty rows
|
|
if (count($row_output) == 0) {
|
|
continue;
|
|
}
|
|
|
|
$result .= '<li>' . implode(', ', $row_output) . '</li>';
|
|
}
|
|
?>
|
|
|
|
<?php if (trim($result) != '') : ?>
|
|
<ul class="fields-container">
|
|
<?php echo $result; ?>
|
|
</ul>
|
|
<?php endif; ?>
|