Bonjour,
Disponibilité de ZwiiCMS 10.6.03.
La dernière de version de la branche 10.6 de ZwiiCMS est publiée.
L'équipe de dév,
Sylvain et Fred.

Gérer son propre CSS dans son module

fredfred Messages 251Administrateur
À partir de la version 11, un module pourra stocker son propre CSS.
Ceci vous permettra de personnaliser indépendamment chaque instance du module.
Exemple avec le module News dont une option de présentation la hauteur des blocs dépend de la feuille de style : 
Dans la fonction config() qui gère le stockage de la configuration, on trouve : 
La première étape consiste à construire le chemin qui est constitué : 
du nom du module ($class) puis de l'instance puis de style.css tout cela est enregistré dans data/modules
$style contient la feuille de style, ici très simple.
Ensuite on stocke ce chemin avec le reste des données du module :  

Exploitation : 
Pour que cette feuille de style soit appelée, dans la fonction index, on ajoute simplement :

Le noyau fait le reste.
Voilà qui va intéresser @sylvainlelievre et @Mickaelgutt
L'idée générale est de rendre les modules complétements autonomes y compris ceux livrés avec Zwii.

The f....g boss

Réponses

  • MickaelguttMickaelgutt Messages 54Membre
    Bonjour @fred,
    Oui effectivement, là l'indépendance et de plus en plus présente, je pense que c'est une très bonne nouvelle,
    Bon je retourne sur mon boulot !!
    Bon week-end à tous
    merci pour cette avancé !!
    Cordialement Mickael

    Savoir avancer c'est :
    Avoir l’esprit ouvert et accepter la différence des autres
    Être fermer aux idées des autres :
    C'est se croire le meilleur et ne pas accepter la différences et les idées des autres.

  • sylvainlelievresylvainlelievre Messages 133Administrateur
    Bonjour,
    Actuellement  un module stocke ses propres feuilles de style dans module/...
    Par exemple ..../view/index/index.css
    Mécanisme hyper pratique ! 
    Ce sera toujours le cas avec Zwii 11 ? Ou faudra t il migrer ces CSS dans data/ et faire une déclaration explicite du lien  ? Par la méthode exposée plus haut ou une autre.
    Bonne journée
    Sylvain

  • fredfred Messages 251Administrateur
    4 avril modifié
    Bonjour Sylvain 
    J’ai exposé la méthode que nous mettrons en oeuvre dans les modules mais après chacun est libre de procéder comme il veut. 
    On aurait aussi pu imaginer que la feuille de style soit au nom de l’instance. C’est peut-être la solution que je retiendrai. 
    Ces modifications seront pour Zwii 11 cela veut dire que les modules de la v11 ne tourneront pas sur la v10. Ton champ update va prendre tout son sens ;) 
    De mémoire il y a 3 modules concernés search, news nouvelle version et surtout la gallery. 
    bonne journée 
    fred
    The f....g boss
  • fredfred Messages 251Administrateur
    Oui ce sera ce choix : 
    Modules/classedumodule/moduleId.css
    Exemple 
    Modules/news/actu.css
    C'est plus light comme arborescence
    The f....g boss
  • sylvainlelievresylvainlelievre Messages 133Administrateur
    Bonjour @fred ,
    Il n'y a aucun problème, les modules déclareront explicitement leurs feuilles de style.
    Quand tu auras défini une arborescence conseillée pour les modules, tu me préviendras pour que je puisse mettre à jour 'modèle de module' et mes modules.
    Si je peux me permettre :
    Modules/news/actu.css
    ne serait peut être pas la meilleure solution, c'est mieux de ne laisser dans ce dossier que news.php... et de mettre le css dans site/data, comme pour admin.css, theme.css, custom.css.
    J'avais compris que tu proposais site/data/news/actu.css  ? ou encore plus structuré site/data/news/css/actu.css

    Bonne journée
    Sylvain


  • fredfred Messages 251Administrateur
    Bonjour Sylvain,
    J'ai pensé à les placer dans un dossier modules pour bien les distinguer des autres feuilles de styles qui concernent le noyau du CMS.
    L'autre aspect est dicté par les instances. Je m'explique : toutes les informations qui caractérisent un module sont placées dans le module.json. C'est traditionnel et cela ne change pas.
    Sauf que certaines informations, dont le thème, devraient dépendre de l'instance. Écrit autrement, on peut avoir deux galeries avec un thème différent pour chacune. 
    Exemple : la classe gallery disposent de deux "pages" donc de deux instances avec des feuilles de style dont le nom est l'id du module :
    .
    L'idée est aussi de permettre de stocker d'autres données, du json, etc. dans le même dossier, libre à chacun.
    C'est une évolution importante qui entraîne la réécriture de tous les modules intégrés. Dans un premier temps, j'ai opéré ces modifications sur une v11, finalement je publierai 10.6 qui proposera les nouveaux modules ainsi que le cœur du CMS modifié (c'est assez léger).
    Tout le monde n'installera pas la v11 dès sa sortie, c'est important de proposer une  transition progressive. L'autre raison est aussi que les nouveaux modules ne seront pas compatibles avec les versions précédentes, ils le seront avec la v11.
    Il me reste quelques vérifications à effectuer notamment au niveau de l'import, je donnerai ensuite l'url de la branche sur le forum pour les essais.
    Bon lundi de Pâques à tous.
    Fred

    The f....g boss
Cette discussion a été fermée.