[10.0.80.dev] Amélioration de la gestion des homepage par défaut

This commit is contained in:
fredtempez 2019-11-08 21:58:58 +01:00
parent c5f1d228ec
commit 21e67ea452
2 changed files with 31 additions and 9 deletions

View File

@ -31,7 +31,7 @@ class common {
const TEMP_DIR = 'site/tmp/'; const TEMP_DIR = 'site/tmp/';
// Numéro de version // Numéro de version
const ZWII_VERSION = '10.0.79.dev'; const ZWII_VERSION = '10.0.80.dev';
public static $actions = []; public static $actions = [];
public static $coreModuleIds = [ public static $coreModuleIds = [
@ -491,10 +491,10 @@ class common {
/** /**
* Retourne l'Id de la homePage de la langue courante * Retourne l'Id de la homePage de la langue courante
* @return string * @return string ide la page
*/ */
public function getHomePageId () { public function getHomePageId () {
foreach($this->getHierarchy(null, null, false) as $parentPageId => $childrenPageIds) { foreach($this->getHierarchy(null, false, false) as $parentPageId => $childrenPageIds) {
if ($this->getData(['page',$parentPageId,'homePageId']) === true) { if ($this->getData(['page',$parentPageId,'homePageId']) === true) {
return ($parentPageId); return ($parentPageId);
} }
@ -504,11 +504,28 @@ class common {
} }
} }
} }
// Aucune homePage, définir la première page et boucle return($this->setHomePageId());
$this->setData(['page',current(array_keyS ($this->getHierarchy(null, true, false))),'homePageId',true]);
$this->getHomePageId();
} }
/**
* Positionne l'Id de la homePage de la langue courante
* @return string id de la page
* @param id de la page à positionner, si chaine vide, on cherche une page par défaut
*/
public function setHomePageId ($id = '') {
// La paramètre est-il correct ?
// définir la première n'étant pas une barre, pas désactivée, du groupe des visiteurs
foreach($this->getHierarchy(null, false, false) as $parentPageId => $childrenPageIds) {
if ($this->getData(['page',$parentPageId,'block']) !== 'bar' &&
$this->getData(['page',$parentPageId,'disable']) === false &&
$this->getData(['page',$parentPageId,'group']) === 0 ) {
$this->setData(['page',$parentPageId,'homePageId',true]);
return($parentPageId);
}
}
}
/** /**
* Accède à une valeur des variables http (ordre de recherche en l'absence de type : _COOKIE, _POST) * Accède à une valeur des variables http (ordre de recherche en l'absence de type : _COOKIE, _POST)

View File

@ -85,7 +85,7 @@ class page extends common {
'block' => '12', 'block' => '12',
'barLeft' => '', 'barLeft' => '',
'barRight' => '', 'barRight' => '',
'displayMenu' => '0', 'displayMenu' => 'none',
'hideMenuSide' => false, 'hideMenuSide' => false,
'hideMenuHead' => false, 'hideMenuHead' => false,
'hideMenuChildren' => false 'hideMenuChildren' => false
@ -239,9 +239,14 @@ class page extends common {
$position = 0; $position = 0;
$hideTitle = true; $hideTitle = true;
} }
// Reset homePage // Contrôle de la HomePage
// Page d'accueil
if ($this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) === true ) { if ($this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) === true ) {
// Effacer l'ancienne hompage
$this->setData(['page',$this->getHomePageId(),'homePageId',false]); $this->setData(['page',$this->getHomePageId(),'homePageId',false]);
// Positionner la nouvelle homepage
$this->setData(['page',$pageId,'homePageId',true]);
} }
// Modifie la page ou en crée une nouvelle si l'id a changé // Modifie la page ou en crée une nouvelle si l'id a changé
$this->setData([ $this->setData([