From 4c8d424b9bf6b2d2b680ef152a967796798c8112 Mon Sep 17 00:00:00 2001 From: Jaanus Nurmoja Date: Fri, 21 Feb 2014 02:59:07 +0200 Subject: [PATCH] Override labels position settings in group level Sometimes we have situations when some of our groups need rather another label positioning than the one set to the whole form. We can make it possible by allowing the groups override the form / details global settings. --- .../language/en-GB/en-GB.com_fabrik.ini | 1 + .../com_fabrik/models/forms/group.xml | 23 +++++++++++++++++++ components/com_fabrik/models/group.php | 2 ++ .../details/tmpl/bootstrap/default_group.php | 3 ++- .../tmpl/bootstrap_tabs/default_group.php | 4 ++-- .../form/tmpl/bootstrap/default_group.php | 4 ++-- .../tmpl/bootstrap_tabs/default_group.php | 4 ++-- 7 files changed, 34 insertions(+), 7 deletions(-) diff --git a/administrator/components/com_fabrik/language/en-GB/en-GB.com_fabrik.ini b/administrator/components/com_fabrik/language/en-GB/en-GB.com_fabrik.ini index d0b547e8ed4..cd1930c8a9b 100644 --- a/administrator/components/com_fabrik/language/en-GB/en-GB.com_fabrik.ini +++ b/administrator/components/com_fabrik/language/en-GB/en-GB.com_fabrik.ini @@ -1172,6 +1172,7 @@ COM_FABRIK_FIELD_LABELS_ABOVE_DESC="Bootstrapped forms only - select whether the COM_FABRIK_FIELD_LABELS_ABOVE_LABEL="Labels position" COM_FABRIK_FIELD_LABELS_ABOVE_DETAILS_DESC="Bootstrapped details view only - select whether the labels should be shown above the form, to the left of the form or don't show. If groups have multiple columns then if shown labels will automatically be placed above fields rather than to the left of fields." COM_FABRIK_FIELD_LABELS_ABOVE_DETAILS_LABEL="Labels position (details)" +COM_FABRIK_FIELD_LABELS_ABOVE_GLOBAL="Use global" COM_FABRIK_FIELD_LABELS_ABOVE_LEFT="Left" COM_FABRIK_FIELD_LABELS_ABOVE_ABOVE="Above" COM_FABRIK_FIELD_LABELS_ABOVE_NONE="None" diff --git a/administrator/components/com_fabrik/models/forms/group.xml b/administrator/components/com_fabrik/models/forms/group.xml index 4e826d719ff..ddf1c767db5 100644 --- a/administrator/components/com_fabrik/models/forms/group.xml +++ b/administrator/components/com_fabrik/models/forms/group.xml @@ -185,6 +185,29 @@ + + + + + + + + + + + + + diff --git a/components/com_fabrik/models/group.php b/components/com_fabrik/models/group.php index 5d901ce6152..78f7ff8c5d6 100644 --- a/components/com_fabrik/models/group.php +++ b/components/com_fabrik/models/group.php @@ -1059,6 +1059,8 @@ public function getGroupProperties(&$formModel) $group->columns = $params->get('group_columns', 1); $group->splitPage = $params->get('split_page', 0); $group->showLegend = $this->showLegend($group); + $group->labels = $params->get('labels_above', -1); + $group->dlabels = $params->get('labels_above_details', -1); if ($this->canRepeat()) { diff --git a/components/com_fabrik/views/details/tmpl/bootstrap/default_group.php b/components/com_fabrik/views/details/tmpl/bootstrap/default_group.php index 9efbc86cde9..c3ef319ad13 100644 --- a/components/com_fabrik/views/details/tmpl/bootstrap/default_group.php +++ b/components/com_fabrik/views/details/tmpl/bootstrap/default_group.php @@ -15,6 +15,7 @@ ?>
group; $rowStarted = false; foreach ($this->elements as $element) : $this->element = $element; @@ -34,7 +35,7 @@ $rowStarted = true; endif; $style = $element->hidden ? 'style="display:none"' : ''; - $labels_above = $this->params->get('labels_above_details', 0); + $labels_above = (!$group->dlabels || (int) $group->dlabels == -1) ? $this->params->get('labels_above_details', 0) : (int) $group->dlabels; if ($labels_above == 1) { diff --git a/components/com_fabrik/views/details/tmpl/bootstrap_tabs/default_group.php b/components/com_fabrik/views/details/tmpl/bootstrap_tabs/default_group.php index 3fb9f4e4a66..7259455987b 100644 --- a/components/com_fabrik/views/details/tmpl/bootstrap_tabs/default_group.php +++ b/components/com_fabrik/views/details/tmpl/bootstrap_tabs/default_group.php @@ -11,7 +11,7 @@ // No direct access defined('_JEXEC') or die('Restricted access'); - +$group = $this->group; $rowStarted = false; foreach ($this->elements as $element) : $this->element = $element; @@ -34,7 +34,7 @@ ?>
> params->get('labels_above', 0); + $labels_above = (!$group->dlabels || (int) $group->dlabels == -1) ? $this->params->get('labels_above_details', 0) : (int) $group->dlabels; if ($labels_above == 1) { echo $this->loadTemplate('group_labels_above'); diff --git a/components/com_fabrik/views/form/tmpl/bootstrap/default_group.php b/components/com_fabrik/views/form/tmpl/bootstrap/default_group.php index 29e7291acdd..2cdc04a3944 100644 --- a/components/com_fabrik/views/form/tmpl/bootstrap/default_group.php +++ b/components/com_fabrik/views/form/tmpl/bootstrap/default_group.php @@ -11,7 +11,7 @@ // No direct access defined('_JEXEC') or die('Restricted access'); - +$group = $this->group; $rowStarted = false; foreach ($this->elements as $element) : $this->element = $element; @@ -34,7 +34,7 @@ ?>
> params->get('labels_above', 0); + $labels_above = (!$group->labels || $group->labels == -1) ? $this->params->get('labels_above', 0) : $group->labels; if ($labels_above == 1) { echo $this->loadTemplate('group_labels_above'); diff --git a/components/com_fabrik/views/form/tmpl/bootstrap_tabs/default_group.php b/components/com_fabrik/views/form/tmpl/bootstrap_tabs/default_group.php index 3fb9f4e4a66..43f5184d95a 100644 --- a/components/com_fabrik/views/form/tmpl/bootstrap_tabs/default_group.php +++ b/components/com_fabrik/views/form/tmpl/bootstrap_tabs/default_group.php @@ -11,7 +11,7 @@ // No direct access defined('_JEXEC') or die('Restricted access'); - +$group = $this->group; $rowStarted = false; foreach ($this->elements as $element) : $this->element = $element; @@ -34,7 +34,7 @@ ?>
> params->get('labels_above', 0); + $labels_above = (!$group->labels || $group->labels == -1) ? $this->params->get('labels_above', 0) : $group->labels; if ($labels_above == 1) { echo $this->loadTemplate('group_labels_above');