---
title: "Eigener Viewhelper mit renderThenChild()"
url: "https://www.typo3.net/d/125655-eigener-viewhelper-mit-renderthenchild"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Frage","TYPO3 7"]
created: "2017-01-31"
last_reply: "2017-02-01"
replies: 1
solved: true
page: 1
pages: 1
lang: "de"
---

# Eigener Viewhelper mit renderThenChild()

Extensions › Entwicklung · 1 Antwort · gelöst · gestartet 2017-01-31

## Frage

**mic187** · 2017-01-31 · [Beitrag #1](https://www.typo3.net/d/125655-eigener-viewhelper-mit-renderthenchild/1)

hallo habe ein problem mit einem viewhelper.

mein viewhelper sieht so aus.

```php
use TYPO3\CMS\Core\Utility\GeneralUtility;
/**
 * ViewHelper 
 */
class InarrayViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper {
 
 	/**
	 * @param mixed $favorit View helper condition
	 * @param mixed $video View helper condition
	  * @return bool|string
	 */
	public function render($favorit, $video) {
 
		$flag = FALSE;
		if($favorit != ""){
			foreach ($favorit as $value) {
		
				if(is_object($value)){
					if ($value->getRemove() == $video) {
						$flag = TRUE;
					}
				}else{
					if ($value == $video) {
						$flag = TRUE;
					}
				}
			}
		}
/*
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($flag);
die;
*/
		if ($flag) {
			return $this->renderThenChild();
		} else {
			 return $this->renderElseChild();
		}
	}
	
	    
 /**
	 * The compiled ViewHelper adds two new ViewHelper arguments: __thenClosure and __elseClosure.
	 * These contain closures which are be executed to render the then(), respectively else() case.
	 *
	 * @param string $argumentsVariableName
	 * @param string $renderChildrenClosureVariableName
	 * @param string $initializationPhpCode
	 * @param \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode $syntaxTreeNode
	 * @param \TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler $templateCompiler
	 * @return string
	 * @internal
	 */
	public function compile(
		$argumentsVariableName,
		$renderChildrenClosureVariableName,
		&$initializationPhpCode,
		\TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\AbstractNode $syntaxTreeNode,
		\TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler $templateCompiler
	) {
		parent::compile(
			$argumentsVariableName,
			$renderChildrenClosureVariableName,
			$initializationPhpCode,
			$syntaxTreeNode,
			$templateCompiler
		);
		return \TYPO3\CMS\Fluid\Core\Compiler\TemplateCompiler::SHOULD_GENERATE_VIEWHELPER_INVOCATION;
	}
}
```

Jetzt bekomme ich immer diese meldung
Call to undefined method InarrayViewHelper::renderThenChild()

## Beste Antwort

**mic187** · 2017-02-01 · [Beitrag #2](https://www.typo3.net/d/125655-eigener-viewhelper-mit-renderthenchild/2)

class InarrayViewHelper extends \TYPO3\CMS\Fluid\Core\ViewHelper\AbstractConditionViewHelper {

war die lösung.

## Antworten

### [#2](https://www.typo3.net/d/125655-eigener-viewhelper-mit-renderthenchild/2) · mic187 · 2017-02-01 · Beste Antwort

(Text siehe oben unter „Beste Antwort“.)

---

Quelle: „Eigener Viewhelper mit renderThenChild()“, typo3.net, https://www.typo3.net/d/125655-eigener-viewhelper-mit-renderthenchild
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
