first commit
This commit is contained in:
60
plugins/fields/subform/tmpl/subform.php
Normal file
60
plugins/fields/subform/tmpl/subform.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?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; ?>
|
||||
Reference in New Issue
Block a user