11.1.00 Liste des pages dans footer et config : déplacement du code hors de la vue
This commit is contained in:
parent
46c40ec7a3
commit
d47f6e291c
@ -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',
|
||||
|
@ -84,39 +84,21 @@
|
||||
<h4>Pages spéciales</h4>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php
|
||||
$pages = $this->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.'
|
||||
<?php echo template::select('configHomePageId', helper::arrayCollumn($module::$pages, 'title', 'SORT_ASC'), [
|
||||
'label' => 'Accueil du site',
|
||||
'selected' =>$this->getData(['locale', 'homePageId']),
|
||||
'help' => 'La première page que vos visiteurs verront.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php
|
||||
echo template::select('configPage403', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
|
||||
<?php echo template::select('configPage403', array_merge(['none' => '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.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php
|
||||
echo template::select('configPage404', array_merge(['none' => 'Page par défaut'],helper::arrayCollumn($orphans, 'title', 'SORT_ASC')), [
|
||||
<?php echo template::select('configPage404', array_merge(['none' => '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 @@
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col4">
|
||||
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
|
||||
<?php echo template::select('configLegalPageId', array_merge(['none' => '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.'
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
|
||||
<?php echo template::select('configSearchPageId', array_merge(['none' => '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 @@
|
||||
</div>
|
||||
<div class="col4">
|
||||
<?php
|
||||
echo template::select('configPage302', array_merge(['none' => '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.'
|
||||
|
@ -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',
|
||||
|
@ -80,15 +80,6 @@
|
||||
<div class="col12">
|
||||
<div class="block">
|
||||
<h4>Pages spéciales</h4>
|
||||
<?php
|
||||
$pages = $this->getData(['page']);
|
||||
foreach($pages as $page => $pageId) {
|
||||
if ($this->getData(['page',$page,'block']) === 'bar' ||
|
||||
$this->getData(['page',$page,'disable']) === true) {
|
||||
unset($pages[$page]);
|
||||
}
|
||||
}
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col3 textAlignRight">
|
||||
<?php echo template::checkbox('themeFooterDisplayLegal', true, 'Mentions légales', [
|
||||
@ -98,7 +89,7 @@
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('configLegalPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
|
||||
<?php echo template::select('configLegalPageId', array_merge(['none' => '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 @@
|
||||
]); ?>
|
||||
</div>
|
||||
<div class="col3">
|
||||
<?php echo template::select('configSearchPageId', array_merge(['none' => 'Aucune'] , helper::arrayCollumn($pages, 'title', 'SORT_ASC') ) , [
|
||||
<?php echo template::select('configSearchPageId', array_merge(['none' => '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',
|
||||
|
Loading…
Reference in New Issue
Block a user