En visitant ce site, vous acceptez l'utilisation de cookies afin de vous proposer les meilleurs services possibles.

[résolu] comment personnaliser une balise css active sur une seule catégorie ?

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 3 ans 10 mois - il y a 3 ans 10 mois #1 par doc_denis
bonjour,
je recherche à ajouter une personnalisation CSS spécifique à une catégorie "déco"
pour expliquer au mieux voici un extrait de mon custom.css
body {
	background-image: url(/images/fonds/fond2018.jpg);
	background-repeat: inherit;
	background-size: cover;
	background-attachment: fixed;background-position: 50% 50%;
}
pour ma catégorie spéciale, j'ai un autre style, dérivé du style de mon site "donc, ils partagent donc le custom.css"
et je cherche à mettre ça pour la catégorie "déco"
body {
	background-image: url(/images/fonds/fonddéco.jpg);
	background-repeat: inherit;
	background-size: cover;
	background-attachment: fixed;background-position: 50% 50%;
}
si vous avez une idée, je prends ;-)

sinon, je me servirais d'un module spécifique fond de page du genre bgmax
Dernière édition: il y a 3 ans 10 mois par doc_denis. Raison: résolu

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 10 mois #2 par serge
hello,

déjà pas d'accent dans le nom de l'image
ensuite : soit je regarderai dans le template s'il y a pas un champs pour ajouter du code et je dupliquerai dans ce cas
ou
je verrai avec l'extension de regular labs
ou je testerai d'ajouter une classe à la page par l'intermédiaire de l'élément de menu de la catégorie pour cibler celle ci

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 3 ans 10 mois #3 par doc_denis
salut serge,
L'accent est une erreur dans la rédaction du post ...un copier/coller et modif du texte
...je ne mets jamais d'accent ni d'espace ni majuscules dans mes fichiers (depuis le temps...lol...)

ou je testerai d'ajouter une classe à la page par l'intermédiaire de l'élément de menu de la catégorie pour cibler celle ci


ouais, c'est pour ça que je demande comment cibler la catégorie dans la balise css ;-)
Merci

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 3 ans 10 mois #4 par doc_denis
j'ai trouvé ...c'est facile pourtant !

exemple
.itemid-1257 body{
	background-image: unset !important;
}
merci pour la piste ;-)

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 3 ans 10 mois #5 par studio42
Ou en récupérant l'ID de la catégorie et ajouter au body une class.
category-ID
Une autre solution est de dupliquer le layout default.php vers autre.php par exemple et n'utiliser que ce fichier pour cette catégorie et ajouté un css dans autre.php.
J'evite les plugins pour n'ajouter que ce type d'info, car a la fin tu va ajouter 5 ou 6 plugins pour pas grand chose.

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 10 mois #6 par serge
oui, tu peux utiliser la classe d'item de lien de menu
mais si tu ajoutes ta classe à tes liens de menu c'est mieux pour l'avenir

imagine que pour une raison x tu doives créer un autre élément de menu avec cette propriété (dans un autre menu par exemple) , dans ce cas tu n'auras qu'à ajouter ta classe.

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 3 ans 10 mois #7 par doc_denis
Bonjour Serge et Patrick.

@patrick, ouais bonne idée. la récupération de l'ID marche dans le fichier de catégorie, mais pas dans le "index.php" du template
il me semble qu'il faut pouvoir extraire la valeur quelque part avant de pouvoir l'afficher avec :
<body class="cat<?php echo $this->categoryId; ?>">
car dans le index.php il ne connaît probablement pas qui est "$this" ou un truc dans le genre
il doit falloir ressortir la valeur de la BD, mais comme d'hab, c'est ma misère ;-)
du coup ça ne me sort que ".cat" et pas ".cat169"


@Serge, l'idée est séduisante mais je ne sait pas ou rentrer ma classe. "mydeco"
j'ai essayé dans : onglet paramètre d'affichage de la page > classe de page = sans effet.
...ça n'apparait même pas dans le code ...
dans : type de lien = ça joue sur l'affichage du lien (megamenu)
j'ai peut-être certainement un problème de vue, car je ne trouve pas ou renseigner la classe

je ne sait pas si ça à une incidence, mon template est vp_smart.

Connexion ou Créer un compte pour participer à la conversation.

  • studio42
  • Portrait de studio42
  • Hors Ligne
  • Modérateur
  • Modérateur
  • Dev Joomla & Virtuemart
Plus d'informations
il y a 3 ans 10 mois - il y a 3 ans 10 mois #8 par studio42
<?php 
$input = JFactory::getApplication()->input ;
$catId = $input->getInt('virtuemart_category_id',null);
$class = ''";
if($catId !== null) $class ='class="category-'.$catId.'"'; ?>
<body <?php echo $class ?>>

J'ai pas vérifier le code, mais c'est le principe.

www.st42.fr Truc et astuce Joomla et virtuemart
shop.st42.fr téléchargement Joomla et extension pour virtuemart
Gratuit ! Nettoyage des medias : shop.st42.fr/fr/produits/virtuemart-netoyage-des-medias.htm Nouveau!
Dernière édition: il y a 3 ans 10 mois par studio42.
Les utilisateur(s) suivant ont remercié: doc_denis

Connexion ou Créer un compte pour participer à la conversation.

  • doc_denis
  • Portrait de doc_denis
  • Hors Ligne
  • Membre senior
  • Membre senior
  • ...oui, la photo date :)
Plus d'informations
il y a 3 ans 10 mois #9 par doc_denis
:woohoo: Super ! merci Patrick !

Dans le fichier (pour le template vp_smart) : /templates/vp_smart/layouts/default/index.php
<?php 
$input = JFactory::getApplication()->input ;
$catId = $input->getInt('virtuemart_category_id',null);
if($catId !== null) 
$class = 'category-'.$catId.'"'; 
?>

puis pour afficher :
<body class="body <?php echo $class; ?>">
ensuite dans le css c'est facile (pour ma part j'affiche une image différente que sur le reste du site) :
.category-169 {
	background-image: url(/images/fonds/fond-deco.jpg);
	background-repeat: inherit;
	background-size: cover;
	background-attachment: fixed;background-position: 50% 50%;
}

c'est génial pour personnaliser plus facilement les catégories.
de plus comme avec la nouvelle version de VM (3.2.15) il est possible de forcer le lien canonial sur une catégorie ça marche aussi sur les produits liés à cette catégorie ;-)
source : dev.virtuemart.net/projects/virtuemart/r...itory/revisions/9833
...ça faisait longtemps que j'avais demander cette possibilité ...comme quoi tout fait son chemin ! merci alatak
www.virtuemart.fr/forum/referencement-vm...-virtuemart?start=10

cela dit, Serge je veux bien comprendre l'idée avec le lien du menu (ça ne presse pas, quand tu as le temps).

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 10 mois #10 par serge
oui, c'est bien le bon endroit
tu mets la classe sans le point
et tu auras, si ton template est bien fait, la classe associée au body.
et les éléments enfants aussi, ainsi tu peux créer un univers par lien de catégorie.
ceci étant, j'ai déjà eu des template / framework qui ne le prenaient pas en compte.
si tu changes de template tu seras fixé.

Connexion ou Créer un compte pour participer à la conversation.