Gestion des homepages den option de page

This commit is contained in:
fredtempez 2019-09-30 18:45:21 +02:00
parent 9283d7a1b4
commit 313d23bf2b
4 changed files with 32 additions and 11 deletions

View File

@ -17,16 +17,14 @@
<div class="block">
<h4>Informations générales</h4>
<div class="row">
<!--
Page d'accueil définie au niveau des langues
<div class="col4">
<?php echo template::select('configHomePageId', helper::arrayCollumn($this->getData(['page']), 'title', 'SORT_ASC'), [
'label' => 'Page d\'accueil',
'selected' => $this->getData(['config', 'homePageId'])
'selected' => $this->getData(['page', 'homePageId']),
'disabled' => true
]); ?>
</div>
-->
<div class="col12">
<div class="col8">
<?php echo template::text('configTitle', [
'label' => 'Titre du site',
'value' => $this->getData(['config', 'title']),

View File

@ -196,9 +196,9 @@ class page extends common {
$this->setData(['module', $pageId, $this->getData(['module', $this->getUrl(2)])]);
$this->deleteData(['module', $this->getUrl(2)]);
// Si la page correspond à la page d'accueil, change l'id dans la configuration du site
if($this->getData(['config', 'homePageId']) === $this->getUrl(2)) {
$this->setData(['config', 'homePageId', $pageId]);
}
//if($this->getData(['config', 'homePageId']) === $this->getUrl(2)) {
// $this->setData(['config', 'homePageId', $pageId]);
//}
}
// Supprime les données du module en cas de changement de module
if($this->getInput('pageEditModuleId') !== $this->getData(['page', $this->getUrl(2), 'moduleId'])) {
@ -225,6 +225,11 @@ class page extends common {
$this->setData(['page', $hierarchyPageId, 'position', $lastPosition]);
// Incrémente pour la prochaine position
$lastPosition++;
// Une seule homepage, si homePage est true, désactiver les autres pages
if ($this->getinput('pageHomePage', helper::FILTER_BOOLEAN) === true) {
$this->setData(['page',$hierarchyPageId,"homePage", false]);
}
}
if ($this->getinput('pageEditBlock') !== 'bar') {
$barLeft = $this->getinput('pageEditBarLeft');
@ -266,6 +271,7 @@ class page extends common {
'hideMenuSide' => $this->getinput('pageEditHideMenuSide', helper::FILTER_BOOLEAN),
'hideMenuHead' => $this->getinput('pageEditHideMenuHead', helper::FILTER_BOOLEAN),
'hideMenuChildren' => $this->getinput('pageEditHideMenuChildren', helper::FILTER_BOOLEAN),
'homePage' => $this->getinput('pageHomePage', helper::FILTER_BOOLEAN)
]
]);
// Barre renommée : changement le nom de la barre dans les pages mères

View File

@ -26,6 +26,7 @@ $("#pageEditDelete").on("click", function() {
* Paramètres par défaut au chargement
*/
$( document ).ready(function() {
/**
* Bloque/Débloque le bouton de configuration au changement de module
* Affiche ou masque la position du module selon le call_user_func
@ -185,7 +186,16 @@ $( document ).ready(function() {
});
/**
* Bloque la désactivation du choix de la page d'accueil
*/
var pageHomePage = $("#pageHomePage");
pageHomePage.on("change",function() {
if (this.checked) {
$("input[name=pageHomePage]").attr("disabled",true);
console.log("checlked");
}
});
/**
* Cache les options de masquage dans les menus quand la page n'est pas affichée.

View File

@ -55,7 +55,7 @@ echo template::formOpen('pageEditForm'); ?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col4">
<?php echo template::select('pageTypeMenu', $module::$typeMenu,[
@ -77,7 +77,14 @@ echo template::formOpen('pageEditForm'); ?>
'selected' => $this->getData(['page', $this->getUrl(2), 'modulePosition'])
]); ?>
</div>
</div>
</div>
<div class="col3">
<?php echo template::checkbox('pageHomePage', true, 'Page d\'accueil', [
'checked' => $this->getData(['page', $this->getUrl(2), 'homePage']),
'disabled' => $this->getData(['page', $this->getUrl(2), 'homePage']) === true ? true : false ,
'help' => 'La page d\'accueil est affichée par défaut. Pour sélectionner une autre page d\'accueil, activez l\'option à partir de l\'écran de cette page.'
]); ?>
</div>
</div>
</div>
</div>