diff --git a/src/lib/legacy/viewplugins/function.route.php b/src/lib/legacy/viewplugins/function.route.php new file mode 100644 index 0000000000..9ea3dd13a3 --- /dev/null +++ b/src/lib/legacy/viewplugins/function.route.php @@ -0,0 +1,56 @@ +Link + * + * @param array $params All attributes passed to this function from the template. + * @param Zikula_View $view Reference to the Zikula_View object. + * + * @return string The route. + */ +function smarty_function_route($params, Zikula_View $view) +{ + $assign = isset($params['assign']) ? $params['assign'] : null; + unset($params['assign']); + $name = isset($params['name']) ? $params['name'] : false; + unset($params['name']); + $absolute = isset($params['absolute']) ? $params['absolute'] : false; + unset($params['absolute']); + + /** @var $router \JMS\I18nRoutingBundle\Router\I18nRouter */ + $router = $view->getContainer()->get('router'); + $route = $router->generate($name, $params, $absolute); + + if ($assign) { + $view->assign($assign, $route); + } else { + return DataUtil::formatForDisplay($route); + } +}