/** * @inheritDoc */ public function add($blockId, ModelInterface $block) { $block->setOption('block_id', $blockId); if ($block->hasChildren()) { foreach ($block->getChildren() as $childBlock) { $childBlockId = $this->determineAnonymousBlockId($childBlock); $childBlock->setCaptureTo($blockId . LayoutInterface::CAPTURE_TO_DELIMITER . $childBlock->captureTo()); $this->add($childBlockId, $childBlock); } if ($block instanceof ClearableModelInterface) { $block->clearChildren(); } } $this->blocks[$blockId] = $block; return $this; }