[10.0.39.dev] Option de titre dans le menu burger + changes

This commit is contained in:
fredtempez 2019-10-20 10:44:48 +02:00
parent 70b90e20ee
commit 901d9b9e00
6 changed files with 74 additions and 26 deletions

View File

@ -3,27 +3,47 @@
## Version 10.0.00
- Améliorations :
- Architecture de stockage des données.
- Les données sont désormais stockées par zone dans des fichiers distincts (core, config, theme, user, page et module).
- Les données relatives aux pages et aux modules sont stockées dans un dossier localisé fr par défaut, afin d'anticiper les fonctionnalités multi-langues.
- Les données sont désormais stockées dans des fichiers distincts (core, config, theme, user, page et module).
- Les données relatives aux pages et aux modules sont stockées dans un dossier localisé fr par défaut.
- Procédures internes de gestion des données.
- Le système ne conserve plus en mémoire l'intégralité des données de site comme dans les versions précédentes.
- Les données du site sont chargées à la demande au lieu d'être lues dans leur intégralité.
- Les mises à jour et effacement sont appliquées en direct sur le disque.
- Les mises à jour et effacement sont appliquées en direct sur le disque.
- Multilinguisme :
- Site publiable en différentes versions de langues européennes.
- Masque de gestion des langues disponibles
- Changement de la langue courante dans l'interface d'administration
- En mode déconnecté, langue par défaut du navigateur ou choix de la langue dans la barre de menu
- Un nouveau menu affiche le l'écran de gestion des langues disponibles.
- Le changement de la langue courante dans l'interface d'administration ainsi que dans le menu utilisateur.
- En mode déconnecté, la langue affichée est celle du navigateur ou choix de la langue dans la barre de menu.
- Les drapeaux affichés dans le menu ne font pas référence à un pays mais à une langue, sont proposés :
- Allemand
- Anglais
- Bulgare
- Danois
- Espagnol
- Finois
- Français
- Islandais
- Italien
- Néerlandais
- Norvégien
- Portugais
- Suédois
- Roumain
- Tchèque
- Thème menu :
- Lorsque le menu est réduit, le titre du site peut être inséré à la gauche du menu burger.
- Modifications :
- Procédure d'installation :
- Les données manquantes sont installées au cas par cas, les données présentes ne sont plus écrasées par l'installation.
- Une notification est affichée quand un fichier de données manquant a été réinstallé.
- La suppression de user.json entraîne le déclenchement de la procédure d'installation
- Procédure d'importation :
- L'importation des données est possible uniquement à partir d'une version 9.
- L'importation des données est possible uniquement à partir d'une version 9 et non des version ultérieures.
- Les données de site précédentes sont écrasées, les données localisées effacées.
- Une notification est affichée après l'importation.
- Procédure d'installation :
- Modification de la gestion des données de site par défaut.
- Régénération automatisée des fichiers manquants de données manquants.
- En cas d'effacement d'un des fichiers de donénes sauf user.json, une version par défaut est installée.
## version 9.2.09
- Correections :

View File

@ -31,7 +31,7 @@ class common {
const TEMP_DIR = 'site/tmp/';
// Numéro de version
const ZWII_VERSION = '10.0.38.dev';
const ZWII_VERSION = '10.0.39.dev';
public static $actions = [];
public static $coreModuleIds = [
@ -1186,7 +1186,7 @@ class core extends common {
$css .= '.helpButton span:hover{color:' . $colors['darken'] . '}';
$css .= '.button:active,button[type=\'submit\']:active,.pagination a:active{background-color:' . $colors['veryDarken'] . '}';
$colors = helper::colorVariants($this->getData(['theme', 'title', 'textColor']));
$css .= 'h1,h2,h3,h4,h5,h6{color:' . $colors['normal'] . ';font-family:"' . str_replace('+', ' ', $this->getData(['theme', 'title', 'font'])) . '",sans-serif;font-weight:' . $this->getData(['theme', 'title', 'fontWeight']) . ';text-transform:' . $this->getData(['theme', 'title', 'textTransform']) . '}';
$css .= 'h1,h2,h3,h4,h5,h6 {color:' . $colors['normal'] . ';font-family:"' . str_replace('+', ' ', $this->getData(['theme', 'title', 'font'])) . '",sans-serif;font-weight:' . $this->getData(['theme', 'title', 'fontWeight']) . ';text-transform:' . $this->getData(['theme', 'title', 'textTransform']) . '}';
// Bannière
$colors = helper::colorVariants($this->getData(['theme', 'header', 'backgroundColor']));
if($this->getData(['theme', 'header', 'margin'])) {
@ -1241,6 +1241,8 @@ class core extends common {
}
}
$css .= '#i18nBar {padding:' . $this->getData(['theme', 'menu', 'height']) . ';}';
$colors = helper::colorVariants($this->getData(['theme', 'menu', 'backgroundColor']));
$css .= 'nav #burgerText {color:' . $colors['text'] . ';font-family:"' . str_replace('+', ' ', $this->getData(['theme', 'menu', 'font'])) . '",sans-serif;' . 'font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
$css .= '#toggle span,#menu a{padding:' . $this->getData(['theme', 'menu', 'height']) .';font-family:"' . str_replace('+', ' ', $this->getData(['theme', 'menu', 'font'])) . '",sans-serif;font-weight:' . $this->getData(['theme', 'menu', 'fontWeight']) . ';font-size:' . $this->getData(['theme', 'menu', 'fontSize']) . ';text-transform:' . $this->getData(['theme', 'menu', 'textTransform']) . '}';
// Pied de page
$colors = helper::colorVariants($this->getData(['theme', 'footer', 'backgroundColor']));

View File

@ -460,7 +460,8 @@ nav #toggle span {
nav #burgerText {
float: left;
margin-left: 10px;
font-size: 1.4em;
margin: 15px 0 0 10px;
}
nav ul {

View File

@ -25,17 +25,22 @@
<?php if($this->getData(['theme', 'menu', 'position']) === 'body-first' || $this->getData(['theme', 'menu', 'position']) === 'top' ): ?>
<!-- Menu dans le fond du site avant la bannière -->
<nav
<?php
// Détermine si le menu est fixe en haut de page lorsque l'utilisateur n'est pas connecté
if($this->getData(['theme', 'menu', 'position']) === 'top' &&
$this->getData(['theme', 'menu', 'fixed']) === true) {
if ($this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD'))
{echo 'id="navfixedlogout"';}
elseif ($this->getUrl(0) !== 'theme')
{echo 'id="navfixedconnected"';}
}
?>>
<div id="toggle"><div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div><?php echo template::ico('menu',null,null,'2em'); ?></div>
<?php
// Détermine si le menu est fixe en haut de page lorsque l'utilisateur n'est pas connecté
if($this->getData(['theme', 'menu', 'position']) === 'top' &&
$this->getData(['theme', 'menu', 'fixed']) === true) {
if ($this->getUser('password') !== $this->getInput('ZWII_USER_PASSWORD'))
{echo 'id="navfixedlogout"';}
elseif ($this->getUrl(0) !== 'theme')
{echo 'id="navfixedconnected"';}
}
?>>
<div id="toggle">
<?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?>
<div id="burgerText"><?php echo $this->getData(['config','title']);?></div>
<?php endif; ?>
<?php echo template::ico('menu',null,null,'2em'); ?>
</div> <!-- fin burger -->
<div id="menu" class="<?php if($this->getData(['theme', 'menu', 'position']) === 'top'){echo 'container-large';}else{echo'container';}?>">
<div id="menuBar">
<?php $layout->showMenu(); ?>
@ -70,7 +75,12 @@
<?php if($this->getData(['theme', 'menu', 'position']) === 'body-second'): ?>
<!-- Menu dans le fond du site après la bannière -->
<nav>
<div id="toggle"><div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div><?php echo template::ico('menu',null,null,'2em'); ?></div>
<div id="toggle">
<?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?>
<div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div>
<?php endif; ?>
<?php echo template::ico('menu',null,null,'2em'); ?>
</div> <!-- fin burger -->
<div id="menu" class="container">
<div id="menuBar">
<?php $layout->showMenu(); ?>
@ -86,7 +96,12 @@
<?php if($this->getData(['theme', 'menu', 'position']) === 'site-first'): ?>
<!-- Menu dans le site avant la bannière -->
<nav>
<div id="toggle"><div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div><?php echo template::ico('menu',null,null,'2em'); ?></div>
<div id="toggle">
<?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?>
<div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div>
<?php endif; ?>
<?php echo template::ico('menu',null,null,'2em'); ?>
</div> <!-- fin burger -->
<div id="menu" class="container">
<div id="menuBar">
<?php $layout->showMenu(); ?>
@ -132,7 +147,12 @@
): ?>
<!-- Menu dans le site après la bannière -->
<nav <?php if($this->getData(['theme', 'menu', 'position']) === 'hide'): ?>class="displayNone"<?php endif; ?>>
<div id="toggle"><div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div><?php echo template::ico('menu',null,null,'2em'); ?></div>
<div id="toggle">
<?php if ($this->getData(['theme','menu','burgerTitle']) === true ): ?>
<div id="burgerText"><h3><?php echo $this->getData(['config','title']);?></h3></div>
<?php endif; ?>
<?php echo template::ico('menu',null,null,'2em'); ?>
</div> <!-- fin burger -->
<div id="menu" class="container">
<div id="menuBar">
<?php $layout->showMenu(); ?>

View File

@ -436,6 +436,7 @@ class theme extends common {
'fontWeight' => $this->getInput('themeMenuFontWeight'),
'height' => $this->getInput('themeMenuHeight'),
'loginLink' => $this->getInput('themeMenuLoginLink', helper::FILTER_BOOLEAN),
'burgerTitle' => $this->getInput('themeMenuBurgerTitle', helper::FILTER_BOOLEAN),
'margin' => $this->getInput('themeMenuMargin', helper::FILTER_BOOLEAN),
'position' => $this->getInput('themeMenuPosition'),
'textAlign' => $this->getInput('themeMenuTextAlign'),

View File

@ -42,6 +42,10 @@
<?php echo template::checkbox('themeMenuLoginLink', true, 'Lien de connexion', [
'checked' => $this->getData(['theme', 'menu', 'loginLink'])
]); ?>
<?php echo template::checkbox('themeMenuBurgerTitle', true, 'Titre dans le menu burger', [
'checked' => $this->getData(['theme', 'menu', 'burgerTitle']),
'help' => 'Le menu burger remplace le menu complet lorsque la largeur de l\'écran n\est pas suffisante.'
]); ?>
</div>
</div>
</div>