La pause estivale a été plus courte que prévue puisque la nouvelle version de Soosyze CMS est disponible avec comme fonctionnalité phare : Les multi-niveaux. De plus, une grande partie du module News a été refondue.
Utilisateur
Menu multi-niveaux
Commençons par la grosse nouveauté, les multi-niveaux.
Jusqu’à présent seul le menu principal était modifiable, maintenant tous les menus sont ouverts à l’édition. L’interface utilisateur a été revue pour y intégrer une navigation pour les différents menus.
Illistration Admin Menu
Le champ « Poids » a disparu, le déplacement des liens se réalise uniquement en glissé/déposé. Un nouveau champ Icône est présent dans l'interface de création et d’édition d’un lien. Il permet d'insérer une classe CSS de la librairie Font Awesome (5 Free) pour y insérer une Icône de leur catalogue.
- #69 Ajout d'un sous menu dans l'interface des liens des menus.
- #68 Ajout d'icônes dynamiques pour les liens des menus.
- #67 Ajout de multiple niveau dans le module Menu.
Refonte du module News
Le module News a été refondu pour y ajouter une pagination aux articles et un flux RSS.
- #71 Ajout d'un flux RSS.
- #70 Refonte du module News.
Illustration Blog
De plus, vous pouvez choisir le nombre d’articles que vous souhaitez afficher dans le panneau de configuration.
- #73 Ajoute une configuration au module News.
Illustration Admin Config News
Node et Badges
Quelques refontes légères comme :
- 2188438 Simplification de l'affichage des nodes dans le panneau d'administration.
- 333f6fd Ajout du badge des rôles dans l'interface des permissions.
Développeur
Pour les développeurs il y a aussi quelques nouveautés !
Template
Le service template vient de corriger et simplifier la création de blocs autonomes et la substitution des fichiers sources des templates.
// Déclare une template dans la section page.content
->render('page.content', 'node-show.php', $this->pathViews, [ 'fields' => unserialize($node[ 'field' ]) ])
// Ajoute des fichier sources de substitution (dans l’ordre auquel elles sont appelées) si elles sont présentes dans le thème.
->override('page.content', [ 'node-show-' . $id . '.php', 'node-show-' . $node[ 'type' ] . '.php']);
Dans cet exemple-là, si le contenu node/1
(page) est affiché, le template choisira dans la liste de fichier d’affichages suivantes :
node-show.php
Par défaut
node-show-1.php
Première substitution possible
node-show-page.php
Seconde substitution
Ou appeler un bloc existant et lui ajouter un nom de fichier de substitution :
/* Créer un template menu.php */
$tpl->createBlock('menu.php', $this→pathViews)
/* Créer un fichier template de substitution au nom du menu qu’il affiche. */
->nameOverride($nameMenu . '.php')
->addVars([ 'menu' => $menus, 'level' => $level ]);
- #66 Simplification du service Temlplate.
Pagination
La nouvelle version du Framework comporte le nouveau composant Paginator.
Vous pouvez l’utiliser de la façon suivante :
use Soosyze\Components\Paginate\Paginator;
$count = 30 ; // Nombre d’éléments total
$limit = 5 ; // Nombre d’éléments a afficher par page (Minimum 3).
$id = 1 ; // Identifiant de la page courante.
$link = 'page/:id' // Lien des éléments de pagination avec la clé incrémentale.
$paginate = new Paginator($count, $limit, $id, $link);
echo $paginate ;
Vous pouvez également l’utiliser directement dans Soosyze CMS a l’aide du router pour générer le lien :
/* le paramètre false à la fin de getRoute() permet de générer une route non stricte en omettant les paramètres obligatoires. */
$link = self::router()->getRoute('news.page', [], false);
/* $link = ‘news/page/:id’ */
$paginate = new Paginator(count($query_all), self::$limit, $page, $link);
Revu du développement
La phase de la maturité approche, depuis cette version il est possible de hiérarchiser les contenus et de créer des blocs autonomes utilisant le thème, ouvrant la voie à des fonctionnalités à venir.
Contrairement a ce qui a été annoncé dans la précédente Release, le module FileManager n'est pas encore disponible. Il reste un module très important pour l'évolution de Soosyze CMS, mais nous ne voulons pas précipiter les choses et sera disponible après avoir stabilisé quelques fonctionnalités du coeur.
Vous pouvez retrouver l'ensemble du changelog à cette adresse.
N’hésitez pas à nous faire vos retours de cette version directement sur le forum. Merci à vous 😉