public function nameIterator() { $aViewIterator = parent::nameIterator(); // for child container's children if ($this->arrChildContainers) { foreach ($this->arrChildContainers as $sContainerName => $aContainer) { if ($aContainer->count()) { if (empty($aMergedIterator)) { $aMergedIterator = new \AppendIterator(); $aMergedIterator->append($aViewIterator); } $aMergedIterator->append(new _TransparentViewContainerNameIterator($aContainer, $sContainerName . '-')); } } } // return merged iterators if (!empty($aMergedIterator)) { return $aMergedIterator; } else { return $aViewIterator; } }