From aabff19302fdf384353da24ad4b0dd74427df441 Mon Sep 17 00:00:00 2001 From: doishub Date: Fri, 10 Dec 2021 14:44:44 +0100 Subject: [PATCH 1/2] Fix template variable for pages and layouts --- src/Resources/contao/classes/StyleManager.php | 23 ++++++++++++++++--- src/Resources/contao/config/config.php | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/Resources/contao/classes/StyleManager.php b/src/Resources/contao/classes/StyleManager.php index e8414b3..20f2547 100644 --- a/src/Resources/contao/classes/StyleManager.php +++ b/src/Resources/contao/classes/StyleManager.php @@ -111,7 +111,7 @@ public static function clearClasses($varValue, $dc) if(self::isMultipleField($dc->field)) { - $varValue = serialize(array($cssID[0] ?? '', $varValue)); + $varValue = serialize(array(($cssID[0] ?? ''), $varValue)); } return $varValue; @@ -147,7 +147,7 @@ public static function updateClasses($varValue, $dc) if(self::isMultipleField($dc->field)) { - $varValue = serialize(array($cssID[0] ?? '', $varValue)); + $varValue = serialize(array(($cssID[0] ?? ''), $varValue)); } return $varValue; @@ -198,7 +198,7 @@ public static function resetClasses($varValue, $dc, $strTable) if(self::isMultipleField($dc->field)) { - $varValue = serialize(array($cssID[0] ?? '', $varValue)); + $varValue = serialize(array(($cssID[0] ?? ''), $varValue)); } return $varValue; @@ -376,6 +376,23 @@ public static function deserializeValues($arrValue){ return $arrValue; } + /** + * Adding template variables defined in pages and layouts + * + * @param $objPage + * @param $objLayout + * @param $page + */ + public function onGeneratePage($objPage, $objLayout, &$page) + { + $arrStyles = array_filter(array_merge_recursive( + StringUtil::deserialize($objPage->styleManager, true), + StringUtil::deserialize($objLayout->styleManager, true) + )); + + $page->Template->styleManager = serialize($arrStyles); + } + /** * Parse Template and set Variables * diff --git a/src/Resources/contao/config/config.php b/src/Resources/contao/config/config.php index 6cdd8f1..96d2c1a 100644 --- a/src/Resources/contao/config/config.php +++ b/src/Resources/contao/config/config.php @@ -31,6 +31,7 @@ // Hooks $GLOBALS['TL_HOOKS']['parseTemplate'][] = array('\\Oveleon\\ContaoComponentStyleManager\\StyleManager', 'onParseTemplate'); +$GLOBALS['TL_HOOKS']['generatePage'][] = array('\\Oveleon\\ContaoComponentStyleManager\\StyleManager', 'onGeneratePage'); $GLOBALS['TL_HOOKS']['loadFormField'][] = array('\\Oveleon\\ContaoComponentStyleManager\\StyleManager', 'onLoadFormField'); $GLOBALS['TL_HOOKS']['addCustomRegexp'][] = array('\\Oveleon\\ContaoComponentStyleManager\\StyleManager', 'addVariableRegexp'); $GLOBALS['TL_HOOKS']['executePostActions'][] = array('\\Oveleon\\ContaoComponentStyleManager\\Ajax', 'executePostActions'); From c068e1b9f774bedec96c18467c9766f596af7c73 Mon Sep 17 00:00:00 2001 From: doishub Date: Mon, 20 Dec 2021 09:06:17 +0100 Subject: [PATCH 2/2] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b14fc46..6a06fff 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Search for `oveleon/contao-component-style-manager` in the Contao Manager and ad #### Manual installation ``` -$ composer require oveleon/contao-component-style-manager +composer require oveleon/contao-component-style-manager ``` ## Documentation