* {n:ifIsActive(newsItem: newsItem, then: 'active', else: '')} * * * Renders the string "active" if the current news item is active * */ class IfIsActiveViewHelper extends AbstractConditionViewHelper implements ViewHelperInterface { public function initializeArguments() { $this->registerArgument('newsItem', 'object', 'News item', false); parent::initializeArguments(); } /** * @param array|null $arguments * @return bool */ protected static function evaluateCondition($arguments = null): bool { $vars = GeneralUtility::_GET('tx_news_pi1'); return isset($vars['news']) && isset($arguments['newsItem']) && (int)$arguments['newsItem']->getUid() === (int)$vars['news']; } /** * @return mixed */ public function render() { if (static::evaluateCondition($this->arguments)) { return $this->renderThenChild(); } return $this->renderElseChild(); } }