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)) { // titre et description // => retourne $titre, $description et le tableau associatif: $social if(!empty($node->getNodeData()->getData())) { extract($node->getNodeData()->getData()); } // attributs, aucun pour l'instant if(!empty($node->getAttributes())) { extract($node->getAttributes()); } // réseaux sociaux + logo dans l'entête $keys = array_keys($social); $social_networks = ''; $head_logo = ''; /*foreach($node->getNodeData()->getAssets() as $asset) { for($i = 0; $i < count($keys); $i++) { // réseaux sociaux if(str_contains($asset->getFileName(), $keys[$i])){ $social_networks .= ' ' . $keys[$i] . '_alt'; break; } // logo en-tête //if(str_contains($asset->getFileName(), 'header_logo')){ //$header_logo = rtrim($asset->getFilePathMini(), '/'); //break; //} // image de fond //if(str_contains($asset->getFileName(), 'header_background')){ //$header_background = rtrim($asset->getFilePath(), '/'); //break; //} } }*/ // chemin du ficher dans node_data, à déplacer dans asset foreach($keys as $one_key){ $social_networks .= ' ' . $one_key . '_alt'; } ob_start(); require $viewFile; $this->html .= ob_get_clean(); } } }