registerArgument('options', 'array', 'The options'); $this->registerArgument('daytrip', 'bool', 'Is daytrip or not', false, false); } /** * @param array $arguments * @param \Closure $renderChildrenClosure * @param RenderingContextInterface $renderingContext * @return mixed */ public function render() { if ($this->arguments['daytrip']) { return 'Tageweise buchbar'; } $options = $this->arguments['options']; if ($options === null) { return ''; } sort($options); $optionsCount = count($options); $lastOption = array_pop($options); $output = ''; if ($optionsCount > 2) { $output .= implode(', ' , $options) . ' oder ' . $lastOption; } elseif ($optionsCount === 2) { $output .= reset($options) . ' oder ' . $lastOption; } else { $output = $lastOption; } $output .= (int) $lastOption > 1 ? ' Nächte' : ' Nacht'; return $output; } }