Options de page dépliables

This commit is contained in:
Fred Tempez 2020-06-07 18:55:38 +02:00
parent 638f2a99d8
commit 842da132e0
4 changed files with 274 additions and 212 deletions

View File

@ -60,7 +60,7 @@ class page extends common {
];
public static $displayMenu = [
'none' => 'Aucun',
'parents' => 'Le menu horizontal',
'parents' => 'Le menu',
'children' => 'Le sous-menu de la page parente'
];

View File

@ -14,3 +14,21 @@
@import url("site/data/admin.css");
.blockContainer:not(#info) {
display : none;
}
#info .zwiico-minus {
display: inline;
}
.zwiico-minus,#info .zwiico-plus {
display: none;
}
.zwiico-minus,
.zwiico-plus {
cursor: pointer;
}

View File

@ -52,6 +52,20 @@ function protectModule() {
*/
$( document ).ready(function() {
/**
* Blocs dépliants
*/
$("div .block").click(function(e) {
$(this).find(".zwiico-plus").toggle();
$(this).find(".zwiico-minus").toggle();
$(this).find(".blockContainer").slideToggle();
}).on("click", "span > input, input, textarea, label, option, button, a, .blockContainer", function(e) {
// Empêcher les déclenchements dans les blocs
e.stopPropagation();
});
/*
* Enleve le menu fixe en édition de page
*/
@ -163,8 +177,10 @@ $( document ).ready(function() {
$("#pageEditSeoWrapper").slideUp();
$("#pageEditAdvancedWrapper").removeClass("disabled");
$("#pageEditAdvancedWrapper").slideUp();
/*
$("#pageEditBlockLayout").removeClass("col6");
$("#pageEditBlockLayout").addClass("col12");
*/
} else {
$("#pageEditDisplayMenuWrapper").removeClass("disabled");
@ -397,8 +413,10 @@ pageEditBlockDOM.on("change", function() {
$("#pageEditModuleConfig").slideUp();
$("#pageEditDisplayMenuWrapper").addClass("disabled");
$("#pageEditDisplayMenuWrapper").slideDown();
/*
$("#pageEditBlockLayout").removeClass("col6");
$("#pageEditBlockLayout").addClass("col12");
*/
} else {
$("#pageEditMenu").addClass("disabled");
$("#pageEditMenu").show();
@ -420,8 +438,10 @@ pageEditBlockDOM.on("change", function() {
$("#pageEditbreadCrumbWrapper").addClass("disabled");
$("#pageEditbreadCrumbWrapper").slideDown();
}
/*
$("#pageEditBlockLayout").removeClass("col12");
$("#pageEditBlockLayout").addClass("col6");
*/
}
});

View File

@ -94,97 +94,135 @@ echo template::formOpen('pageEditForm');
</div>
</div>
<div class="row">
<div class="col6" id="pageEditBlockLayout">
<div class="col12" id="pageEditBlockLayout">
<div class="block" >
<h4>Mise en page</h4>
<div class="row">
<div class="col12">
<?php echo template::select('pageEditBlock', $module::$pageBlocks, [
'label' => 'Gabarits de page / Barre latérale',
'help' => 'Pour définir la page comme barre latérale, choisissez l\'option dans la liste.',
'selected' => $this->getData(['page', $this->getUrl(2) , 'block'])
]); ?>
</div>
<div class="col12">
<!-- Sélection des barres latérales -->
<?php if($this->getHierarchy($this->getUrl(2),false,true)): ?>
<?php echo template::hidden('pageEditBarLeft', [
'value' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Mise en page</h4>
<div class="blockContainer">
<div class="row">
<div class="col6">
<div class="row">
<div class="col12">
<?php echo template::select('pageEditBlock', $module::$pageBlocks, [
'label' => 'Gabarits de page / Barre latérale',
'help' => 'Pour définir la page comme barre latérale, choisissez l\'option dans la liste.',
'selected' => $this->getData(['page', $this->getUrl(2) , 'block'])
]); ?>
</div>
<div class="col12">
<?php echo template::checkbox('pageEditHideTitle', true, 'Titre masqué', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideTitle'])
]); ?>
</div>
<div class="col12">
<?php echo template::checkbox('pageEditbreadCrumb', true, 'Fil d\'Ariane', [
'checked' => $this->getData(['page', $this->getUrl(2), 'breadCrumb'])
]); ?>
</div>
</div>
</div>
<div class="col6">
<!-- Sélection des barres latérales -->
<?php if($this->getHierarchy($this->getUrl(2),false,true)): ?>
<?php echo template::hidden('pageEditBarLeft', [
'value' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarLeft', $module::$pagesBarId, [
'label' => 'Barre latérale gauche :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
<?php endif; ?>
<?php if($this->getHierarchy($this->getUrl(2),false,true)): ?>
<?php echo template::hidden('pageEditBarRight', [
'value' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarRight', $module::$pagesBarId, [
'label' => 'Barre latérale droite :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php endif; ?>
<?php echo template::select('pageEditDisplayMenu', $module::$displayMenu, [
'label' => 'Contenu du menu vertical',
'selected' => $this->getData(['page', $this->getUrl(2), 'displayMenu']),
'help' => 'Par défaut le menu est affiché APRES le contenu de la page. Pour le positionner à un emplacement précis, insérez [MENU] dans le contenu de la page.'
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarLeft', $module::$pagesBarId, [
'label' => 'Barre latérale gauche :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barLeft'])
]); ?>
<?php endif; ?>
</div>
<div class="col12">
<?php if($this->getHierarchy($this->getUrl(2),false,true)): ?>
<?php echo template::hidden('pageEditBarRight', [
'value' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditBarRight', $module::$pagesBarId, [
'label' => 'Barre latérale droite :',
'selected' => $this->getData(['page', $this->getUrl(2), 'barRight'])
]); ?>
<?php endif; ?>
</div>
<div class="col6">
<?php echo template::checkbox('pageEditHideTitle', true, 'Titre masqué', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideTitle'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('pageEditbreadCrumb', true, 'Fil d\'Ariane', [
'checked' => $this->getData(['page', $this->getUrl(2), 'breadCrumb'])
]); ?>
</div>
<div class="col12">
<?php echo template::select('pageEditDisplayMenu', $module::$displayMenu, [
'label' => 'Configuration du menu vertical',
'selected' => $this->getData(['page', $this->getUrl(2), 'displayMenu']),
'help' => 'Par défaut le menu est affiché APRES le contenu de la page. Pour le positionner à un emplacement précis, insérez [MENU] dans le contenu de la page.'
]); ?>
</div>
</div>
</div>
</div>
</div>
<div class="col6" id="pageEditMenu">
</div>
<div class="row">
<div class="col12" id="pageEditMenu">
<div class="block">
<h4>Emplacement</h4>
<div class="row">
<div class="col6">
<?php echo template::select('pageEditPosition', [], [
'label' => 'Position',
'help' => '\'Ne pas afficher\' crée une page orpheline non accessible par le biais des menus.'
]); ?>
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Emplacement dans le menu</h4>
<div class="blockContainer">
<div class="row">
<div class="col6">
<?php echo template::select('pageEditPosition', [], [
'label' => 'Position',
'help' => '\'Ne pas afficher\' crée une page orpheline non accessible par le biais des menus.'
]); ?>
</div>
<div class="col6">
<?php if($this->getHierarchy($this->getUrl(2), false)): ?>
<?php echo template::hidden('pageEditParentPageId', [
'value' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditParentPageId', $module::$pagesNoParentId, [
'label' => 'Page parent',
'selected' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
]); ?>
<?php endif; ?>
</div>
</div>
<div class="col6">
<?php if($this->getHierarchy($this->getUrl(2), false)): ?>
<?php echo template::hidden('pageEditParentPageId', [
'value' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
<div class="row">
<div class="col3">
<?php echo template::checkbox('pageEditTargetBlank', true, 'Nouvel onglet', [
'checked' => $this->getData(['page', $this->getUrl(2), 'targetBlank'])
]); ?>
<?php else: ?>
<?php echo template::select('pageEditParentPageId', $module::$pagesNoParentId, [
'label' => 'Page parent',
'selected' => $this->getData(['page', $this->getUrl(2), 'parentPageId'])
</div>
<div class="col3">
<?php echo template::checkbox('pageEditDisable', true, 'Désactivée', [
'disabled' => (bool) ($this->getdata(['config','homePageId']) === $this->getUrl(2)) ? true : false,
'checked' => (bool) ($this->getdata(['config','homePageId']) === $this->getUrl(2)) ? false : $this->getData(['page', $this->getUrl(2), 'disable']),
'help' => 'Une page désactivée n\'est pas cliquable en mode déconnecté, les pages enfants sont visibles et accessibles. La page d\'accueil n\'est pas désactivable.'
]); ?>
<?php endif; ?>
</div>
</div>
</div>
<div class="row">
<div class="col6">
<?php echo template::checkbox('pageEditTargetBlank', true, 'Nouvel onglet', [
'checked' => $this->getData(['page', $this->getUrl(2), 'targetBlank'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('pageEditDisable', true, 'Désactivée', [
'disabled' => (bool) ($this->getdata(['config','homePageId']) === $this->getUrl(2)) ? true : false,
'checked' => (bool) ($this->getdata(['config','homePageId']) === $this->getUrl(2)) ? false : $this->getData(['page', $this->getUrl(2), 'disable']),
'help' => 'Une page désactivée n\'est pas cliquable en mode déconnecté, les pages enfants sont visibles et accessibles. La page d\'accueil n\'est pas désactivable.'
]); ?>
</div>
</div>
</div>
<div class='row' id="pageEditAdvancedWrapper">
<div class="col12">
<div class="block">
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Options avancées d'emplacement</h4>
<div class="blockContainer">
<div class="row">
<div class="col6">
<?php echo template::checkbox('pageEditHideMenuChildren', true, 'Masquer les pages enfants du menu', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideMenuChildren']),
'help' => 'Les pages enfants ne sont pas visibles dans le menu horizontal, elles se seront dans un menu vertical. La page doit intégrer un lien vers l\'une des pages enfants sinon elles ne seront pas accessibles.'
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('pageEditHideMenuSide', true, 'Masquer la page dans le menu vertical', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideMenuSide']),
'help' => 'La page est affichée dans un menu horizontal mais pas dans le menu vertical d\'une barre latérale.'
]); ?>
</div>
</div>
</div>
</div>
@ -193,43 +231,29 @@ echo template::formOpen('pageEditForm');
<div class='row' id="pageEditSeoWrapper">
<div class="col12">
<div class="block">
<h4>Référencement</h4>
<div class='col6'>
<?php echo template::select('pageEditGroup', self::$groupPublics, [
'label' => 'Groupe requis pour accéder à la page :',
'selected' => $this->getData(['page', $this->getUrl(2), 'group'])
]); ?>
</div>
<div class='col12'>
<?php echo template::text('pageEditMetaTitle', [
'label' => 'Méta-titre',
'value' => $this->getData(['page', $this->getUrl(2), 'metaTitle'])
]); ?>
<?php echo template::textarea('pageEditMetaDescription', [
'label' => 'Méta-description',
//'maxlength' => '500',
'value' => $this->getData(['page', $this->getUrl(2), 'metaDescription'])
]); ?>
</div>
</div>
</div>
</div>
<div class='row' id="pageEditAdvancedWrapper">
<div class="col12">
<div class="block">
<h4>Options Avancées</h4>
<div class="row">
<div class="col6">
<?php echo template::checkbox('pageEditHideMenuChildren', true, 'Masquer les pages enfants dans le menu horizontal', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideMenuChildren']),
'help' => 'Les pages enfants ne sont pas visibles dans le menu horizontal, elles se seront dans un menu vertical. La page doit intégrer un lien vers l\'une des pages enfants sinon elles ne seront pas accessibles.'
<h4><?php
echo template::ico('plus','right');
echo template::ico('minus','right');
?>Permission et référencement</h4>
<div class="blockContainer">
<div class="row">
<div class='col6'>
<?php echo template::select('pageEditGroup', self::$groupPublics, [
'label' => 'Groupe requis pour accéder à la page :',
'selected' => $this->getData(['page', $this->getUrl(2), 'group'])
]); ?>
</div>
<div class="col6">
<?php echo template::checkbox('pageEditHideMenuSide', true, 'Masquer la page dans le menu vertical', [
'checked' => $this->getData(['page', $this->getUrl(2), 'hideMenuSide']),
'help' => 'La page est affichée dans un menu horizontal mais pas dans un menu vertical inséré dans une barre latérale.'
</div>
<div class='col12'>
<?php echo template::text('pageEditMetaTitle', [
'label' => 'Méta-titre',
'value' => $this->getData(['page', $this->getUrl(2), 'metaTitle'])
]); ?>
<?php echo template::textarea('pageEditMetaDescription', [
'label' => 'Méta-description',
//'maxlength' => '500',
'value' => $this->getData(['page', $this->getUrl(2), 'metaDescription'])
]); ?>
</div>
</div>
</div>
</div>