diff --git a/events.xml b/events.xml index 8c34c69f8a9da620913f3719b7113bc48fbc3f0c..8e2817694088f78049d407493b3ede8df7507910 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 bdca6d909fc971b3afa43416c19f5d774f6d77f6..78172d8cdde16e8e58f83207e059f6704b1dd959 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 6f7945942fe4a2930885e822c2e222ce77e91c8c..3374c670a49c0a362372c6353ac8a667f2b667e6 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>