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.
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.
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.
Le module News a été refondu pour y ajouter une pagination aux articles et un flux RSS.
De plus, vous pouvez choisir le nombre d’articles que vous souhaitez afficher dans le panneau de configuration.
Quelques refontes légères comme :
Pour les développeurs il y a aussi quelques nouveautés !
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éfautnode-show-1.php
Première substitution possiblenode-show-page.php
Seconde substitutionOu 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 ]);
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);
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 ;)