THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonsoir,

Je voudrai gérer un style commun a chacune des pages mais qui varie en fonction d'elle, comme le background-color du menu par exemple, y a t'il un moyen par exemple de charger une feuille de style particulière juste pour la page "contact" ?

Cordialement,

Pierre

Offline


Oui, cela est possible. Tu peux par exemple changer la class du body. C'est déjà le cas pour certaine page de Thelia.
Pour contact, il faut ajouter en haut du template contact.html

{block name="body-class"}page-contact{/block}

Après pour le less tu peux faire.

.page-contact {
  .menu {color: green;}
}

Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Alors j'ai créé page-contact.less dans lequel j'ai ecrit ma propriété #35{ background-color:red } cela ne fonctionne pas, j'ai aussi écrit .page-contact #35{ background-color:white} dans ma feuille de style générale, cela ne fonctionne pas non plus. Qu'est-ce que je fais mal?

Offline


Dans le page contact.html tu as bien ajouté en haut

{block name="body-class"}page-contact{/block}

Tu peux regarder dans l'inspecteur d'éléments de ton navigateur pour voir si la class est bien présente sur la body


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


La class est bien sur le body pour cela pas de soucis, mais mon code css n'est pas pris en compte, surement un problème de contexte, mais alors pourquoi mon page-contact.less n'est pas pris en compte lui aussi ?

Offline


Tu l'as ajouté dans import.less ?


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Je viens de l'ajouter, ça ne fonctionne toujours pas

Offline


Bonjour Shared,

Je pense que déjà tu as un problème au niveau de ton sélecteur. En effet, un id ne peut pas commencer pas un chiffre. Il me semble qu'un id doit commencer par une lettre et peut être suivit de chiffres ainsi que des caractères "-", "_", ":" et "."


Développeur front-end & Thelia's Lover
Thelia School | GitHub | Twitter

Offline


je viens de changer le nom de mon id en "li35", cela ne fonctionne toujours pas (cet id est bien unique je vous rassure tout de suite)

Offline


As-tu bien pensé à importer ton fichier page-contact.less dans le fichier import.less du répertoire dans lequel tu travail ? Et as-tu bien pensé à recompiler tes fichiers .less ?


Développeur front-end & Thelia's Lover
Thelia School | GitHub | Twitter

Offline


Tu as vidé le cache assets ?
Tu compiles le less comment ?


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Bonsoir,

J'ai bien ecrit le import dans import.less, j'ai aussi vidé le cache assets, mais je ne sais pas comment recompiler les nouveau fichiers .less

Offline


Il faut un outil pour cela
http://lesscss.org/
Si tu es à la racine de Thelia 2.1, la commande est :

lessc templates/frontOffice/default/assets/less/styles.less > templates/frontOffice/default/assets/css/styles.css 

default est à remplacé par le nom de ton template
Tu peux ajouter le paramètre -x pour compresser

lessc -x templates/frontOffice/default/assets/less/styles.less > templates/frontOffice/default/assets/css/styles.css 

Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


Sujet déplacé, merci d'utiliser la partie française du forum pour les questions en français


Développeur Web chez OpenStudio
Thelia Module, Thelia School, My GitHub, My Twitter

Offline


problème résolue, en fait je ne charge pas de feuilles css en fonction de la page mais je modifie le body class de cette manière:
{* Body Class *}
{block name="body-class"}page-folder{$folder_id} parent{$folder_parent}{/block}

et ensuite j'appel les propriété css ds ma feuille css chargée ds le layout.tpl en prefixant:
.page-filder104 .navbar-nav{ ... }

merci de votre aide