forked from joomla/Component-Builder
60 lines
2.8 KiB
PHP
60 lines
2.8 KiB
PHP
<?php
|
|
/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/
|
|
__ __ _ _____ _ _ __ __ _ _ _
|
|
\ \ / / | | | __ \ | | | | | \/ | | | | | | |
|
|
\ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| |
|
|
\ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` |
|
|
\ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| |
|
|
\/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_|
|
|
| |
|
|
|_|
|
|
/-------------------------------------------------------------------------------------------------------------------------------/
|
|
|
|
@package Component Builder
|
|
@subpackage componentbuilder.php
|
|
@author Llewellyn van der Merwe <https://www.vdm.io/joomla-component-builder>
|
|
@my wife Roline van der Merwe <http://www.vdm.io/>
|
|
@copyright Copyright (C) 2015. All Rights Reserved
|
|
@license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html
|
|
|
|
Builds Complex Joomla Components
|
|
|
|
/-----------------------------------------------------------------------------------------------------------------------------*/
|
|
|
|
// No direct access to this file
|
|
defined('_JEXEC') or die('Restricted access');
|
|
?>
|
|
###BOM###
|
|
|
|
// No direct access to this file
|
|
defined('_JEXEC') or die('Restricted access');
|
|
|
|
// get the form
|
|
$form = $displayData->getForm();
|
|
|
|
// get the layout fields override method name (from layout path/ID)
|
|
$layout_path_array = explode('.', $this->getLayoutId());
|
|
// Since we cannot pass the layout and tab names as parameters to the model method
|
|
// this name combination of tab and layout in the method name is the only work around
|
|
// seeing that JCB uses those two values (tab_name & layout_name) as the layout file name.
|
|
// example of layout name: details_left.php
|
|
// example of method name: getFields_details_left()
|
|
$fields_tab_layout = 'fields_' . $layout_path_array[1];
|
|
|
|
// get the fields
|
|
$fields = $displayData->get($fields_tab_layout) ?: array(
|
|
###LAYOUTITEMS###
|
|
);
|
|
|
|
$hiddenFields = $displayData->get('hidden_fields') ?: [];
|
|
|
|
?>
|
|
<?php if ($fields && count((array) $fields)) :?>
|
|
<?php foreach($fields as $field): ?>
|
|
<?php if (in_array($field, $hiddenFields)) : ?>
|
|
<?php $form->setFieldAttribute($field, 'type', 'hidden'); ?>
|
|
<?php endif; ?>
|
|
<?php echo $form->renderField($field, null, null, array('class' => 'control-wrapper-' . $field)); ?>
|
|
<?php endforeach; ?>
|
|
<?php endif; ?>
|