getChildren(); foreach($children as $child) { if($child->getName() === 'nav'){ $this->nav = $child; // actuellement le noeud nav ne contient aucune info utile et l'envoyer à NavBuilder est inutile $nav_builder = new NavBuilder($this->nav); $nav = $nav_builder->render(); } elseif($child->getName() === 'breadcrumb'){ $this->breadcrumb = $child; $breadcrumb_builder = new BreadcrumbBuilder($this->breadcrumb); $breadcrumb = $breadcrumb_builder->render(); } } $viewFile = self::VIEWS_PATH . $node->getName() . '.php'; if(file_exists($viewFile)) { $node_data = $node->getNodeData(); // titre et description if(!empty($node_data->getData())) { extract($node_data->getData()); } // réseaux sociaux + logo dans l'entête $header_logo = Asset::USER_PATH . $node_data->getAssetByRole('header_logo')?->getFileName() ?? ''; $header_background = Asset::USER_PATH . $node_data->getAssetByRole('header_background')?->getFileName() ?? ''; $keys = array_keys($social); $social_networks = ''; foreach($keys as $one_key){ $social_networks .= ' ' . $one_key . '_alt'; } // boutons mode admin if($_SESSION['admin']){ // assets dans classe editing_zone $editing_zone_margin = '5px'; $buttons_favicon = ' '; $buttons_background = ' '; // asset dans classe header_content $buttons_header_logo = ' '; // texte dans classe header_content $buttons_header_title = ' '; $buttons_header_description = ' '; //$buttons_social_networks = ''; $buttons_social_networks = ''; } else{ $editing_zone_margin = '0'; $buttons_favicon = ''; $buttons_background = ''; $buttons_header_logo = ''; $buttons_header_title = ''; $buttons_header_description = ''; $buttons_social_networks = ''; } ob_start(); require $viewFile; $this->html .= ob_get_clean(); } } }