Neos\Fusion\TypoScriptObjects\AbstractCollectionImplementation::evaluateAsArray PHP Метод

evaluateAsArray() публичный Метод

Evaluate the collection nodes as array
public evaluateAsArray ( ) : array
Результат array
    public function evaluateAsArray()
    {
        $collection = $this->getCollection();
        $result = [];
        if ($collection === null) {
            return $result;
        }
        $this->numberOfRenderedNodes = 0;
        $itemName = $this->getItemName();
        if ($itemName === null) {
            throw new Exception('The Collection needs an itemName to be set.', 1344325771);
        }
        $itemKey = $this->getItemKey();
        $iterationName = $this->getIterationName();
        $collectionTotalCount = count($collection);
        foreach ($collection as $collectionKey => $collectionElement) {
            $context = $this->tsRuntime->getCurrentContext();
            $context[$itemName] = $collectionElement;
            if ($itemKey !== null) {
                $context[$itemKey] = $collectionKey;
            }
            if ($iterationName !== null) {
                $context[$iterationName] = $this->prepareIterationInformation($collectionTotalCount);
            }
            $this->tsRuntime->pushContextArray($context);
            $result[] = $this->tsRuntime->render($this->path . '/itemRenderer');
            $this->tsRuntime->popContext();
            $this->numberOfRenderedNodes++;
        }
        return $result;
    }

Usage Example

 /**
  * Evaluate the collection nodes
  *
  * @return string
  */
 public function evaluate()
 {
     return parent::evaluateAsArray();
 }