getParameter('kernel.project_dir').'/public/themes'; $url = $this->getParameter('appAlias').'themes'; $finder->in($dir)->directories()->depth('== 0'); $themes = []; $themes['']['dir'] = ''; $themes['']['url'] = $url; $themes['']['name'] = 'Thème par défaut'; foreach ($finder as $file) { $key = $file->getRelativePathname(); $themes[$key]['dir'] = $key; $themes[$key]['url'] = $url.'/'.$key; $yml = Yaml::parseFile($dir.'/'.$key.'/info.yml'); $themes[$key]['name'] = $yml['name']; } $current = $request->getSession()->get('apptheme'); $currentheme = $themes[$current]; unset($themes[$current]); return $this->render('Theme/list.html.twig', [ 'useheader' => true, 'usesidebar' => true, 'currentheme' => $currentheme, 'themes' => $themes, ]); } public function select($name, Request $request, ManagerRegistry $em) { $config = $em->getRepository("App\Entity\Config")->findoneBy(['id' => 'apptheme']); $config->setValue($name); $em->getManager()->flush(); return $this->redirectToRoute('app_admin_theme'); } }