示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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;
 }