From 638deef7ecffc9f94b4d31ccf567a941726dd3fc Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Thu, 27 Aug 2020 13:46:18 +0200 Subject: [PATCH] refactor: pcsg/kunden/bow-modellhandel-template#24 - brick cache --- src/QUI/Bricks/Brick.php | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/QUI/Bricks/Brick.php b/src/QUI/Bricks/Brick.php index 6772b15..d82b688 100644 --- a/src/QUI/Bricks/Brick.php +++ b/src/QUI/Bricks/Brick.php @@ -277,7 +277,23 @@ public function create() .$this->hash; try { - return QUI\Cache\Manager::get($cacheName); + $data = QUI\Cache\Manager::get($cacheName); + $cssFiles = $data['cssFiles']; + $cssClasses = $data['cssClasses']; + + if (\is_array($cssClasses)) { + foreach ($cssClasses as $cssClass) { + $this->addCSSClass($cssClass); + } + } + + if (\is_array($cssFiles)) { + foreach ($cssFiles as $cssFile) { + QUI\Control\Manager::addCSSFile($cssFile); + } + } + + return $data['html']; } catch (QUI\Exception $Exception) { } @@ -335,7 +351,12 @@ public function create() ]); $result = $Engine->fetch(\dirname(__FILE__).'/Brick.html'); - QUI\Cache\Manager::set($cacheName, $result); + + QUI\Cache\Manager::set($cacheName, [ + 'html' => $result, + 'cssClasses' => $this->cssClasses, + 'cssFiles' => [] + ]); return $result; } @@ -370,7 +391,12 @@ public function create() } $result = $Control->create(); - QUI\Cache\Manager::set($cacheName, $result); + + QUI\Cache\Manager::set($cacheName, [ + 'result' => $result, + 'cssClasses' => $this->cssClasses, + 'cssFiles' => $Control->getCSSFiles() + ]); return $result; } -- GitLab