From 9e1e822805895080601532210fc4b918d0651635 Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Tue, 10 Mar 2015 15:37:06 +0100 Subject: [PATCH] Smarty event -> {brickarea} function; Side Boxes --- events.xml | 1 + lib/QUI/Bricks/Events.php | 42 +++++++++++++++++++++++++++++++++++++++ locale.xml | 5 +++++ 3 files changed, 48 insertions(+) diff --git a/events.xml b/events.xml index 8c34c69..8e28176 100644 --- a/events.xml +++ b/events.xml @@ -1,4 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <events> <event on="onSiteSave" fire="\QUI\Bricks\Events::onSiteSave" /> + <event on="onSmartyInit" fire="\QUI\Bricks\Events::onSmartyInit" /> </events> \ No newline at end of file diff --git a/lib/QUI/Bricks/Events.php b/lib/QUI/Bricks/Events.php index bdca6d9..78172d8 100644 --- a/lib/QUI/Bricks/Events.php +++ b/lib/QUI/Bricks/Events.php @@ -91,4 +91,46 @@ static function onSiteSave($Site) } } } + + /** + * Event : on smarty init + * add new brickarea function + */ + static function onSmartyInit($Smarty) + { + // {brickarea} + $Smarty->registerPlugin("function", "brickarea", "\QUI\Bricks\Events::brickarea"); + } + + /** + * Smarty brickarea function {brickarea} + * + * @param Array $params - function parameter + * @param \Smarty + */ + static function brickarea($params, $smarty) + { + if ( !isset( $params['Site'] ) || !isset( $params['area'] ) ) + { + if ( !isset( $params['assign'] ) ) { + return array(); + } + + $smarty->assign( $params['assign'], array() ); + return; + } + + $BricksManager = new \QUI\Bricks\Manager(); + + $Site = $params['Site']; + $area = $params['area']; + + $result = $BricksManager->getBricksByArea( $area, $Site ); + + if ( !isset( $params['assign'] ) ) { + return $result; + } + + $smarty->assign( $params['assign'], $result ); + } } \ No newline at end of file diff --git a/locale.xml b/locale.xml index 6f79459..3374c67 100644 --- a/locale.xml +++ b/locale.xml @@ -137,10 +137,15 @@ </groups> <groups name="quiqqer/bricks" datatype="php"> + <locale name="site.panel.bricks.category.title"> <de><![CDATA[Bausteine]]></de> <en><![CDATA[Bricks]]></en> </locale> + <locale name="continue.reading"> + <de><![CDATA[weiterlesen]]></de> + <en><![CDATA[Continue reading]]></en> + </locale> </groups> -- GitLab