Bonjour ou bonsoir peut-être ? Ce tutoriel a pour but de vous apprendre à faire un retour à la ligne de vos sous-forums, et donc d'enlever la virgule, sans utiliser le code JS disponible dans le lien à la droite de ce message. Ici nous devrons accéder aussi aux templates mais nous utiliserons à la place du CSS. Il faut aussi savoir que les possibilités sont plus grandes que ça. En plus de masquer la virgule, vous pouvez aussi jouer de manière à aligner deux liens puis mettre deux autres en dessous et ainsi de suite.
Je vous recommande de lier ce tuto à une LS ou à une modification déjà faites des catégories, de ce fais, les sous-forums ont déjà une class propre qui les entoures, donc pas besoin de toucher au template :)
Ce que ça donne:
Le but de ce tutoriel est de pouvoir mettre les sous-forums en "ligne" donc une par ligne et ceux sans JavaScript, mais dans un premier temps, il va au préalable falloir modifier légèrement le template "Index-box" si ce n'est pas déjà fais, sinon, passez à l'étape suivante.
Pour rappeler : Panneau d'administration > Affichage > Général > Index-box
Dans le template "Index-box" il va vous falloir repérer cette ligne :
Une fois cela fait, il faudra y ajouter une class autour, si vous ne savez pas la marche à suivre est simple, on va ici y rajouter une balise span (Ici, je pars du principe que vous ne souhaitez pas déplacer les liens ou quoi, juste retirer les lignes, donc une balise "span" est suffisante, mais une div fera très bien l'affaire aussi.) à laquelle on rajoutera une class (on évitera l'identifiant (ID) puisque les sous-forums se répètent pour chaque forum que vous avez créer et donc la balise est répétée plusieurs fois sur la même page).
Vous pouvez mettre ce que vous voulez comme nom de class, dans mon cas j'ai mis "sous_forums" car comme ça on sait bien de quoi il s'agit sans se creuser la tête. Pensez ensuite à enregistrer le template et à le valider.
Maintenant qu'on a tous ce qu'il nous faut, nous allons utiliser le code CSS. Dans un premier temps je vais reprendre l'ensemble au dessus. On part du principe qu'on veut faire disparaître les virgules, donc on va leur donner une taille trop petite pour qu'elles soit affichée, la taille la plus petite étant 0. Bien évidemment, 0 étant nulle le texte ne s'affichera pas du tout, mais il sera quand même là, juste invisible.
Pensez à changer le nom de la class par le votre, sinon cela ne fonctionnera pas.
Pour rappeler : Panneau d'administration > Affichage > Couleurs > Feuille de Style CSS
Et voilà les virgules on disparu, mais là vous êtes en droit de crier "Au scandale !". Ce serait légitime puisqu'il n'y a pu de virgule mais que les sous-forums sont collés entre eux, ou ils ont simplement disparu (en fonction de votre version) !
Pas de panique. Pour remédier à ça nous allons faire en sorte que les liens soient considéré comme des "bloc" donc en quelque sorte leur demander de jouer le rôle d'une div mais en restant un lien cliquable. Il faut savoir que les liens possèdent la class "gensmall" par défaut, et sous PHPBB2 elle a une valeur "font-size" défini, mais sous les autres version ce n'est pas le cas, donc les liens peuvent être susceptible de disparaître. D'où le fais que je donnerais ici un code pour toutes les versions donc avec un font-size rétabli. Le font-size est de base de 10px normalement, mais si vous l'avez changé ou si vous voulez vos liens plus gros ou plus petit, libre à vous de modifier ça.
Il va nous rester une dernière chose, les images, généralement sur pas mal de forums sont utilisé les images derrière les sous-forums, ses petites images vont faire n'importe quoi avec notre CSS ici. On veut qu'elles retournent à leur place et qu'elles ne fassent pas de chichi. Les possibilités sont nombreuses, selon moi la plus simple est de leur mettre un flottement vers la gauche, pour les forcer à se trouver toujours à gauche du lien (qui je le rappelle se trouvent chacun sur une ligne.)
Il nous restera une dernière chose à corriger, si vous avez activer les liens des sous-forums avec image, celle-ci pourraient alors poser quelques soucis, se mettre n'importe où, faire buger le code, ou quoi. Les possibilités sont nombreuses pour palier à ça, mais dans mon cas je vais simplement jouer avec le flottement sur la droite, en sachant que nous aurons :
Nous allons donc juste appliquer un "float: left;" sur les images des sous-forums et le tour est joué :
Et voilà, vous avez normalement votre code pour retirer les virgules et faire un retour à la ligne des sous-forums et cela sans JS. Pour ceux le désirant, ayant peur de faire une bêtise ou quoi que ce soit, voici le code complet à copier/coller dans votre feuille de style. Je le rappelle, pensez à remplacer le nom de la class par celui que vous avez mis autour des sous-forums.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Voilà, voilà, en espérant que ce tuto vous servent, l'utilité réside dans le fais qu'on ne touche qu'à du CSS, cela rend logiquement le chargement de la page un peu plus rapide ou du moins moins lourd, de plus, si les gens ont désactivé le JS (ce qui est théoriquement déconseillé) ils auront quand même un retour à la ligne. Enfin, cela reste accessible à tous de compréhension et de personnalisation puisque le CSS est quand même plus facile à dompter que le JS.
Je vous recommande de lier ce tuto à une LS ou à une modification déjà faites des catégories, de ce fais, les sous-forums ont déjà une class propre qui les entoures, donc pas besoin de toucher au template :)
Ce que ça donne:
Explications
Le but de ce tutoriel est de pouvoir mettre les sous-forums en "ligne" donc une par ligne et ceux sans JavaScript, mais dans un premier temps, il va au préalable falloir modifier légèrement le template "Index-box" si ce n'est pas déjà fais, sinon, passez à l'étape suivante.
Modification du Template "Index-box"
Pour rappeler : Panneau d'administration > Affichage > Général > Index-box
Dans le template "Index-box" il va vous falloir repérer cette ligne :
- Code:
{catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}
Une fois cela fait, il faudra y ajouter une class autour, si vous ne savez pas la marche à suivre est simple, on va ici y rajouter une balise span (Ici, je pars du principe que vous ne souhaitez pas déplacer les liens ou quoi, juste retirer les lignes, donc une balise "span" est suffisante, mais une div fera très bien l'affaire aussi.) à laquelle on rajoutera une class (on évitera l'identifiant (ID) puisque les sous-forums se répètent pour chaque forum que vous avez créer et donc la balise est répétée plusieurs fois sur la même page).
- Code:
<span class="sous_forums">{catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}</span>
Vous pouvez mettre ce que vous voulez comme nom de class, dans mon cas j'ai mis "sous_forums" car comme ça on sait bien de quoi il s'agit sans se creuser la tête. Pensez ensuite à enregistrer le template et à le valider.
Le code CSS
Maintenant qu'on a tous ce qu'il nous faut, nous allons utiliser le code CSS. Dans un premier temps je vais reprendre l'ensemble au dessus. On part du principe qu'on veut faire disparaître les virgules, donc on va leur donner une taille trop petite pour qu'elles soit affichée, la taille la plus petite étant 0. Bien évidemment, 0 étant nulle le texte ne s'affichera pas du tout, mais il sera quand même là, juste invisible.
Pensez à changer le nom de la class par le votre, sinon cela ne fonctionnera pas.
Pour rappeler : Panneau d'administration > Affichage > Couleurs > Feuille de Style CSS
- Code:
.sous_forums{
font-size: 0;
}
Et voilà les virgules on disparu, mais là vous êtes en droit de crier "Au scandale !". Ce serait légitime puisqu'il n'y a pu de virgule mais que les sous-forums sont collés entre eux, ou ils ont simplement disparu (en fonction de votre version) !
Pas de panique. Pour remédier à ça nous allons faire en sorte que les liens soient considéré comme des "bloc" donc en quelque sorte leur demander de jouer le rôle d'une div mais en restant un lien cliquable. Il faut savoir que les liens possèdent la class "gensmall" par défaut, et sous PHPBB2 elle a une valeur "font-size" défini, mais sous les autres version ce n'est pas le cas, donc les liens peuvent être susceptible de disparaître. D'où le fais que je donnerais ici un code pour toutes les versions donc avec un font-size rétabli. Le font-size est de base de 10px normalement, mais si vous l'avez changé ou si vous voulez vos liens plus gros ou plus petit, libre à vous de modifier ça.
- Code:
.sous_forums a{
display: block;
font-size: 10px;
}
Il va nous rester une dernière chose, les images, généralement sur pas mal de forums sont utilisé les images derrière les sous-forums, ses petites images vont faire n'importe quoi avec notre CSS ici. On veut qu'elles retournent à leur place et qu'elles ne fassent pas de chichi. Les possibilités sont nombreuses, selon moi la plus simple est de leur mettre un flottement vers la gauche, pour les forcer à se trouver toujours à gauche du lien (qui je le rappelle se trouvent chacun sur une ligne.)
Il nous restera une dernière chose à corriger, si vous avez activer les liens des sous-forums avec image, celle-ci pourraient alors poser quelques soucis, se mettre n'importe où, faire buger le code, ou quoi. Les possibilités sont nombreuses pour palier à ça, mais dans mon cas je vais simplement jouer avec le flottement sur la droite, en sachant que nous aurons :
Une image flottante - Un bloc lien -
Retour à la ligne à cause du bloc - Une image flottante - Un bloc lien -
etc.
Retour à la ligne à cause du bloc - Une image flottante - Un bloc lien -
etc.
Nous allons donc juste appliquer un "float: left;" sur les images des sous-forums et le tour est joué :
- Code:
.sous_forums img{
float: left;
}
Et voilà, vous avez normalement votre code pour retirer les virgules et faire un retour à la ligne des sous-forums et cela sans JS. Pour ceux le désirant, ayant peur de faire une bêtise ou quoi que ce soit, voici le code complet à copier/coller dans votre feuille de style. Je le rappelle, pensez à remplacer le nom de la class par celui que vous avez mis autour des sous-forums.
- Code:
.sous_forums{font-size: 0;}
.sous_forums a{display: block; font-size: 10px;}
.sous_forums img{float: left;}
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Voilà, voilà, en espérant que ce tuto vous servent, l'utilité réside dans le fais qu'on ne touche qu'à du CSS, cela rend logiquement le chargement de la page un peu plus rapide ou du moins moins lourd, de plus, si les gens ont désactivé le JS (ce qui est théoriquement déconseillé) ils auront quand même un retour à la ligne. Enfin, cela reste accessible à tous de compréhension et de personnalisation puisque le CSS est quand même plus facile à dompter que le JS.
Sinon bah un petit merci ou un petit cookie n'est pas de refus, même si le code n'est pas sous Hide :)
Tchuss à tous et merci de m'avoir lu
Tchuss à tous et merci de m'avoir lu
Dernière édition par Alzufen le Jeu 11 Juin 2015 - 21:36, édité 13 fois