public function build() { switch ($this->getState()) { case 'showPageToolbar': $result = false; // вызываем родительский метод построения $result = Component::build(); if ($result instanceof \DOMDocument) { $result->documentElement->appendChild($result->importNode($this->buildJS(), true)); $tbs = $this->getToolbar(); if (!empty($tbs)) { foreach ($tbs as $toolbar) { $result->documentElement->appendChild($result->importNode($toolbar->build(), true)); } } } break; case 'showTransEditor': $result = $this->transEditor->build(); break; case 'showUserEditor': $result = $this->userEditor->build(); break; case 'showRoleEditor': $result = $this->roleEditor->build(); break; case 'showLangEditor': $result = $this->langEditor->build(); break; case 'showSiteEditor': $result = $this->siteEditor->build(); break; case 'showWidgetEditor': $result = $this->widgetEditor->build(); break; default: $result = parent::build(); break; } return $result; }