/** * Get list of child blocks * * Returns associative array of <alias> => <block instance> * * @param string $parentName * @return array */ public function getChildBlocks($parentName) { $this->build(); $blocks = []; foreach ($this->structure->getChildren($parentName) as $childName => $alias) { $block = $this->getBlock($childName); if ($block) { $blocks[$alias] = $block; } } return $blocks; }
/** * Remove scheduled element * * @param ScheduledStructure $scheduledStructure * @param Structure $structure * @param string $elementName * @param bool $isChild * @return $this */ protected function removeElement(ScheduledStructure $scheduledStructure, Structure $structure, $elementName, $isChild = false) { $elementsToRemove = array_keys($structure->getChildren($elementName)); $scheduledStructure->unsetElement($elementName); foreach ($elementsToRemove as $element) { $this->removeElement($scheduledStructure, $structure, $element, true); } if (!$isChild) { $structure->unsetElement($elementName); } return $this; }