Aller au contenu
Invision Board France
  • 0

Modifier l'indicateur "forum lu/non lu"


Soundamental

Question

Savez-vous comment modifier les petits visuels de la page d'accueil des forums à gauche, ceux qui indiquent qu'un forum a des nouveaux messages ou n'en a pas ?

Autrefois c'était une image qu'on pouvait changer facilement en mettant la nôtre sur le serveur avec le même nom que celle par défaut. Aujourd'hui j'avoue que je ne sais plus du tout comment faire pour remettre mes propres images suite à la MAJ vers la version 4...

Modifié par sanlogik
Lien vers le commentaire
Partager sur d’autres sites

9 réponses à cette question

Messages recommandés

  • 0

J'ai trouvé comment faire ^^

 

Dans Personnalisation > Thèmes, il faut utiliser le fichier des CSS personnalisés (custom.css), si on a créé un skin basé sur le skin par défaut.

Vous y ajoutez simplement une image d'arrière plan dans le background de 2 classes :

 

.ipsItemStatus.ipsItemStatus_large {
    background: transparent url(/cheminVersVotreImage/imageForumNonLu.png);
}

.ipsItemStatus.ipsItemStatus_large.ipsItemStatus_read {
    background: transparent url(/cheminVersVotreImage/imageForumLu.png);
}

.fa-comments::before {
    content: none;
}
Après il y a d'autres modifs à faire pour obtenir le bon résultat, mais c'est à vous de voir en fonction de vos besoins. Dans tous les cas toutes les modifs sont à faire dans les 2 premières classes du code ci-dessus.

Sinon la classe "fa-comment::before" c'est pour empêcher l'affichage des bulles par dessus votre propre image.

 

 

Il y a sans doute une autre méthode mais celle-ci semble convenir :)

Modifié par sanlogik
  • Merci 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0

Bonsoir :)

 

Il y a 2 fichiers pour chacun des modes d'affichage (Classique / Grille) , si le code est identique ils auraient effectivement pu mutualiser.

Mais bon ça permet de customiser l'un et/ou l'autre des modes différemment si désiré.

 

Concernant ta question, si j'ai bien compris ceci devrait faire l'affaire:
On descend la condition du span dans son contenu:

<span class='ipsItemStatus ipsItemStatus_large cForumIcon_normal' {template="formattedInlineStyle" params="$forum" app="core" group="global" location="front"}>
  {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}
    <!-- Icône si tout est lu -->
    <i class="fa fa-comments"></i>
  {{else}}
    <!-- Icône si du contenu non lu -->
    <i class="fa fa-eye"></i>
  {{endif}}
</span>

 

Si tu souhaites également conserver le fond gris (ou ce que tu as mis), il falloir faire 2 fois le test:

Une fois dans le span comme c'est déjà le cas + le contenu du span comme ci-dessus

<span class='ipsItemStatus ipsItemStatus_large cForumIcon_normal {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}' {template="formattedInlineStyle" params="$forum" app="core" group="global" location="front"}>
  {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}
    <!-- Icône si tout est lu -->
    <i class="fa fa-comments"></i>
  {{else}}
    <!-- Icône si du contenu non lu -->
    <i class="fa fa-eye"></i>
  {{endif}}
</span>

 

Démo avec la version juste au-dessus:

 

image.png.27af768e24b7961d176ec8b5949d4d1d.png

 

 

Nabon ? :drop:

Modifié par cybero
Screen
  • J’aime 1
  • Merci 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0

Je ne sais pas si c'est lié à la modif expliquée ci-dessus mais mon icone reste en "lu" quand un message est posté dans un sous-forum, alors qu'avant elle passait en "non lu" pour n'importe quel message de n'importe quel sous-forum il me semble...
J'ai oublié quelque chose ou fait une bêtise d'après vous ? :unsure:

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Je ressors cette question car elle est toujours d'actualité en utilisant une autre méthode :P

 

Au lieu de mettre des images, je souhaite utiliser Font Awesome.

J'ai réussi à mettre une icone, sombre quand il y a de nouveaux messages et grisée quand tout est lu, mais c'est donc la même dans les 2 cas.

Désormais je souhaiterais en mettre une différente pour chacun des 2 cas, et là je n'y arrive pas...

 

La modification se fait a priori ici, dans l'éditeur de thèmes :

Modèles>Forums>Front>Index

 

Et là, il y a 2 fichiers. Je n'ai pas encore compris pourquoi ils sont 2...

-> forumGridItem

-> forumRow

 

Il faut changer l'icone font awesome dans cette partie du code (remplacer le "fa-comments" par l'icone désirée) :

<span class='ipsItemStatus ipsItemStatus_large cForumIcon_normal {{if !\IPS\forums\Topic::containerUnread( $forum ) && !$forum->redirect_on}}ipsItemStatus_read{{endif}}' {template="formattedInlineStyle" params="$forum" app="core" group="global" location="front"}>
		<i class="fa fa-comments"></i>
</span>

Ce code me semble identique dans les 2 fichiers, d'où mon incompréhension quant à l'utilité de ce doublon.

Mais le plus important c'est de trouver comment écrire la condition qui dit "quand le forum est non lu, afficher l'icone A, quand le forum est lu, afficher l'icone B"

 

Je pense que ça ne doit pas être très compliqué pour qui maitrise un peu le code du forum, du moins je l'espère !

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0
Il y a 2 heures, cybero a dit :

Il y a 2 fichiers pour chacun des modes d'affichage (Classique / Grille)

Ah mais oui... comme je n'utilise que le classique, j'ai pas pensé à ça !

 

Il y a 2 heures, cybero a dit :

Nabon ? :drop:

Bonne réponse de Monsieur cybero, dans le Bas-Rhin :D

 

Encore une fois tu me sauves, un grand merci !

J'ai testé et ça marche nickel ^_^

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 0

La nouvelle version 4.5.2 n'a pas perturbé (a priori) le fonctionnement des icônes pour les forums lus/non lus, mais elle a fait sauter la couleur de fond derrière les icônes, et impossible de la remettre :(
Le bleu qui est apparu à la place n'apparait même pas dans le CSS :arg:

Lien vers le commentaire
Partager sur d’autres sites

  • 0

A priori non, c'est bien une valeur, cachée derrière une variable :

background: rgb( var(--theme-item_status) );

 

Sauf que cette variable je ne la trouve pas :(

Elle est appelée dans plusieurs fichiers, mais je n'ai aucune idée de où elle est stockée, en tout cas pas dans le fichier _vars.css où elle devrait être a priori...

Lien vers le commentaire
Partager sur d’autres sites

  • 0

Pour info, j'ai trouvé comment changer la couleur ^^

Il faut aller dans :

 

Thèmes > MonThème > Editer > Couleurs de la zone publique > Badges de statut de l’élément actifs

 

Pourquoi ça se modifie là et pas dans les CSS, je ne sais pas. Ce n'est pas très cohérent d'avoir plusieurs endroits à modifier mais bon...

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.