first commit
This commit is contained in:
		
							
								
								
									
										73
									
								
								components/com_fields/layouts/fields/render.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								components/com_fields/layouts/fields/render.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,73 @@ | ||||
| <?php | ||||
|  | ||||
| /** | ||||
|  * @package     Joomla.Site | ||||
|  * @subpackage  com_fields | ||||
|  * | ||||
|  * @copyright   (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> | ||||
|  * @license     GNU General Public License version 2 or later; see LICENSE.txt | ||||
|  */ | ||||
|  | ||||
| defined('_JEXEC') or die; | ||||
|  | ||||
| use Joomla\Component\Fields\Administrator\Helper\FieldsHelper; | ||||
|  | ||||
| // Check if we have all the data | ||||
| if (!array_key_exists('item', $displayData) || !array_key_exists('context', $displayData)) { | ||||
|     return; | ||||
| } | ||||
|  | ||||
| // Setting up for display | ||||
| $item = $displayData['item']; | ||||
|  | ||||
| if (!$item) { | ||||
|     return; | ||||
| } | ||||
|  | ||||
| $context = $displayData['context']; | ||||
|  | ||||
| if (!$context) { | ||||
|     return; | ||||
| } | ||||
|  | ||||
| $parts     = explode('.', $context); | ||||
| $component = $parts[0]; | ||||
| $fields    = null; | ||||
|  | ||||
| if (array_key_exists('fields', $displayData)) { | ||||
|     $fields = $displayData['fields']; | ||||
| } else { | ||||
|     $fields = $item->jcfields ?: FieldsHelper::getFields($context, $item, true); | ||||
| } | ||||
|  | ||||
| if (empty($fields)) { | ||||
|     return; | ||||
| } | ||||
|  | ||||
| $output = []; | ||||
|  | ||||
| foreach ($fields as $field) { | ||||
|     // If the value is empty do nothing | ||||
|     if (!isset($field->value) || trim($field->value) === '') { | ||||
|         continue; | ||||
|     } | ||||
|  | ||||
|     $class = $field->name . ' ' . $field->params->get('render_class'); | ||||
|     $layout = $field->params->get('layout', 'render'); | ||||
|     $content = FieldsHelper::render($context, 'field.' . $layout, ['field' => $field]); | ||||
|  | ||||
|     // If the content is empty do nothing | ||||
|     if (trim($content) === '') { | ||||
|         continue; | ||||
|     } | ||||
|  | ||||
|     $output[] = '<li class="field-entry ' . $class . '">' . $content . '</li>'; | ||||
| } | ||||
|  | ||||
| if (empty($output)) { | ||||
|     return; | ||||
| } | ||||
| ?> | ||||
| <ul class="fields-container"> | ||||
|     <?php echo implode("\n", $output); ?> | ||||
| </ul> | ||||
		Reference in New Issue
	
	Block a user