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'; $admin_favicon = ' '; $admin_background = ' '; // asset dans classe header_content $admin_header_logo = ' '; // texte dans classe header_content $admin_header_title = ' '; $admin_header_description = ' '; // icônes réseaux sociaux $admin_social_networks = ''; } else{ $editing_zone_margin = '0'; $admin_favicon = ''; $admin_background = ''; $admin_header_logo = ''; $admin_header_title = ''; $admin_header_description = ''; $admin_social_networks = ''; } ob_start(); require $viewFile; $this->html .= ob_get_clean(); } } }