[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/';
// Numéro de version
const ZWII_VERSION = '10.0.79.dev';
const ZWII_VERSION = '10.0.80.dev';
public static $actions = [];
public static $coreModuleIds = [
@ -491,10 +491,10 @@ class common {
/**
* Retourne l'Id de la homePage de la langue courante
* @return string
* @return string ide la page
*/
public function getHomePageId () {
foreach($this->getHierarchy(null, null, false) as $parentPageId => $childrenPageIds) {
public function getHomePageId () {
foreach($this->getHierarchy(null, false, false) as $parentPageId => $childrenPageIds) {
if ($this->getData(['page',$parentPageId,'homePageId']) === true) {
return ($parentPageId);
}
@ -504,11 +504,28 @@ class common {
}
}
}
// Aucune homePage, définir la première page et boucle
$this->setData(['page',current(array_keyS ($this->getHierarchy(null, true, false))),'homePageId',true]);
$this->getHomePageId();
return($this->setHomePageId());
}
/**
* 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)

View File

@ -85,7 +85,7 @@ class page extends common {
'block' => '12',
'barLeft' => '',
'barRight' => '',
'displayMenu' => '0',
'displayMenu' => 'none',
'hideMenuSide' => false,
'hideMenuHead' => false,
'hideMenuChildren' => false
@ -239,9 +239,14 @@ class page extends common {
$position = 0;
$hideTitle = true;
}
// Reset homePage
// Contrôle de la HomePage
// Page d'accueil
if ($this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) === true ) {
// Effacer l'ancienne hompage
$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é
$this->setData([