From d47f6e291cd18a8d16182f1952657a378e83efa6 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 6 Oct 2021 18:00:59 +0200 Subject: [PATCH] =?UTF-8?q?11.1.00=20Liste=20des=20pages=20dans=20footer?= =?UTF-8?q?=20et=20config=20:=20d=C3=A9placement=20du=20code=20hors=20de?= =?UTF-8?q?=20la=20vue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/config/config.php | 22 +++++++++++++++ core/module/config/view/index/index.php | 36 ++++++------------------ core/module/theme/theme.php | 13 +++++++-- core/module/theme/view/footer/footer.php | 13 ++------- 4 files changed, 44 insertions(+), 40 deletions(-) diff --git a/core/module/config/config.php b/core/module/config/config.php index 3f56c2da..d54db0ce 100644 --- a/core/module/config/config.php +++ b/core/module/config/config.php @@ -181,6 +181,10 @@ class config extends common { // Langue traduite courante public static $i18nSite = 'fr'; + // Variable pour construire la liste des pages du site + public static $pages = []; + public static $orphans = []; + /** * Génére les fichiers pour les crawlers * Sitemap compressé et non compressé @@ -423,6 +427,24 @@ class config extends common { ]); } + // Liste des pages + self::$pages = $this->getData(['page']); + foreach(self::$pages as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true) { + unset(self::$pages[$page]); + } + } + + self::$orphans = $this->getData(['page']); + foreach(self::$orphans as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true || + $this->getdata(['page',$page, 'position']) !== 0) { + unset(self::$orphans[$page]); + } + } + // Valeurs en sortie $this->addOutput([ 'title' => 'Configuration', diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php index e2ad2ab8..81af2ee2 100644 --- a/core/module/config/view/index/index.php +++ b/core/module/config/view/index/index.php @@ -84,39 +84,21 @@

Pages spéciales

- getData(['page']); - foreach($pages as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { - unset($pages[$page]); - } - } - $orphans = $this->getData(['page']); - foreach($orphans as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true || - $this->getdata(['page',$page, 'position']) !== 0) { - unset($orphans[$page]); - } - } - echo template::select('configHomePageId', helper::arrayCollumn($pages, 'title', 'SORT_ASC'), [ - 'label' => 'Accueil du site', - 'selected' =>$this->getData(['locale', 'homePageId']), - 'help' => 'La première page que vos visiteurs verront.' + 'Accueil du site', + 'selected' =>$this->getData(['locale', 'homePageId']), + 'help' => 'La première page que vos visiteurs verront.' ]); ?>
- 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ + 'Page par défaut'],helper::arrayCollumn($module::$orphans, 'title', 'SORT_ASC')), [ 'label' => 'Accès interdit, erreur 403', 'selected' =>$this->getData(['locale', 'page403']), 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' ]); ?>
- 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ + 'Page par défaut'],helper::arrayCollumn($module::$orphans, 'title', 'SORT_ASC')), [ 'label' => 'Page inexistante, erreur 404', 'selected' =>$this->getData(['locale', 'page404']), 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' @@ -125,14 +107,14 @@
- 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [ + 'Aucune'] , helper::arrayCollumn($module::$pages, 'title', 'SORT_ASC') ) , [ 'label' => 'Mentions légales', 'selected' => $this->getData(['locale', 'legalPageId']), 'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.' ]); ?>
- 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [ + 'Aucune'] , helper::arrayCollumn($module::$pages, 'title', 'SORT_ASC') ) , [ 'label' => 'Recherche dans le site', 'selected' => $this->getData(['locale', 'searchPageId']), 'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.' @@ -140,7 +122,7 @@
'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [ + echo template::select('configPage302', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($module::$orphans, 'title', 'SORT_ASC')), [ 'label' => 'Site en maintenance', 'selected' =>$this->getData(['locale', 'page302']), 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index eaff4ee5..dbd70248 100644 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -240,9 +240,8 @@ class theme extends common { '4' => 'Trois lignes superposées' ]; - // Variables pour construire la liste des pages du site + // Variable pour construire la liste des pages du site public static $pages = []; - public static $orphans = []; /** * Thème des écrans d'administration @@ -397,6 +396,16 @@ class theme extends common { ]); } } + + // Liste des pages + self::$pages = $this->getData(['page']); + foreach(self::$pages as $page => $pageId) { + if ($this->getData(['page',$page,'block']) === 'bar' || + $this->getData(['page',$page,'disable']) === true) { + unset(self::$pages[$page]); + } + } + // Valeurs en sortie $this->addOutput([ 'title' => 'Personnalisation du pied de page', diff --git a/core/module/theme/view/footer/footer.php b/core/module/theme/view/footer/footer.php index 8988f45a..41753f43 100644 --- a/core/module/theme/view/footer/footer.php +++ b/core/module/theme/view/footer/footer.php @@ -80,15 +80,6 @@

Pages spéciales

- getData(['page']); - foreach($pages as $page => $pageId) { - if ($this->getData(['page',$page,'block']) === 'bar' || - $this->getData(['page',$page,'disable']) === true) { - unset($pages[$page]); - } - } - ?>
- 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [ + 'Aucune'] , helper::arrayCollumn($module::$pages, 'title', 'SORT_ASC') ) , [ 'label' => 'Page Mentions légales ' . template::flag('site', '20px'), 'selected' => $this->getData(['locale', 'legalPageId']) ]); ?> @@ -111,7 +102,7 @@ ]); ?>
- 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [ + 'Aucune'] , helper::arrayCollumn($module::$pages, 'title', 'SORT_ASC') ) , [ 'label' => 'Page Rechercher ' . template::flag('site', '20px'), 'selected' => $this->getData(['locale', 'searchPageId']), 'help' => 'Options identique à la configuration du site',