From 9e4380c524f1cb301e261bf87d095b434a655759 Mon Sep 17 00:00:00 2001 From: Ferdinand Kuhl Date: Mon, 5 Jun 2017 18:40:50 +0200 Subject: [PATCH] FEATURE: Adding ProgressViewHelper and some minor cleanups --- Classes/MenuService/ServiceInterface.php | 2 +- Classes/Package.php | 2 - ...MenuViewHelper.php => ItemsViewHelper.php} | 8 +-- Classes/ViewHelpers/ProgressViewHelper.php | 70 +++++++++++++++++++ 4 files changed, 75 insertions(+), 7 deletions(-) rename Classes/ViewHelpers/{MenuViewHelper.php => ItemsViewHelper.php} (82%) create mode 100644 Classes/ViewHelpers/ProgressViewHelper.php diff --git a/Classes/MenuService/ServiceInterface.php b/Classes/MenuService/ServiceInterface.php index 93a1b04..ae40c38 100644 --- a/Classes/MenuService/ServiceInterface.php +++ b/Classes/MenuService/ServiceInterface.php @@ -23,4 +23,4 @@ interface ServiceInterface * @return array|\Iterator */ public function getItems($forPath = null); -} \ No newline at end of file +} diff --git a/Classes/Package.php b/Classes/Package.php index b6bdcf1..4f9ee49 100644 --- a/Classes/Package.php +++ b/Classes/Package.php @@ -17,8 +17,6 @@ use Neos\Flow\Configuration\ConfigurationManager; /** * Package base class of the DigiComp.Menu package. - * - * @Flow\Scope("singleton") */ class Package extends BasePackage { diff --git a/Classes/ViewHelpers/MenuViewHelper.php b/Classes/ViewHelpers/ItemsViewHelper.php similarity index 82% rename from Classes/ViewHelpers/MenuViewHelper.php rename to Classes/ViewHelpers/ItemsViewHelper.php index aa2a89a..faa92b6 100644 --- a/Classes/ViewHelpers/MenuViewHelper.php +++ b/Classes/ViewHelpers/ItemsViewHelper.php @@ -18,7 +18,7 @@ use Neos\FluidAdaptor\Core\ViewHelper\AbstractViewHelper; * Just adds the return of MenuService * TODO: Write example */ -class MenuViewHelper extends AbstractViewHelper +class ItemsViewHelper extends AbstractViewHelper { protected $escapeOutput = false; @@ -31,12 +31,12 @@ class MenuViewHelper extends AbstractViewHelper /** * @param string $as - * @param string $forPath + * @param string $for * @return string */ - public function render($as = 'menuItems', $forPath = null) + public function render($as = 'items', $for = null) { - $this->templateVariableContainer->add($as, $this->menuService->getItems($forPath)); + $this->templateVariableContainer->add($as, $this->menuService->getItems($for)); return $this->renderChildren(); } } diff --git a/Classes/ViewHelpers/ProgressViewHelper.php b/Classes/ViewHelpers/ProgressViewHelper.php new file mode 100644 index 0000000..c59f8bd --- /dev/null +++ b/Classes/ViewHelpers/ProgressViewHelper.php @@ -0,0 +1,70 @@ + &$link) { + $link['completed'] = $activeStep > $i; + $link['returnable'] = $returnable && $i < $activeStep; + } + $this->templateVariableContainer->add($linksAs, $links); + $this->templateVariableContainer->add($stepsAs, $linkCount); + $this->templateVariableContainer->add($activeStepAs, $activeStep + $offset); + $this->templateVariableContainer->add($activeStepLinkAs, $links[$activeStep]); + if (isset($links[$activeStep - 1])) { + $this->templateVariableContainer->add($backLinkAs, $links[$activeStep - 1]); + } + return $this->renderChildren(); + } +}