[MODERNBB] Afficher masquer les catégories sous forme d'onglets

Voir le sujet précédent Voir le sujet suivant Aller en bas

Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello les ami(e)s,

un très grand merci à mon ami @no_way (Arnaud ) pour m'avoir tiré une bonne épine du pied concernant la mémorisation du choix de l’utilisateur.

Par conséquent, l'astuce sera visible pour tous.

Un petit merci sera apprécié  clin oeil .


Pour que cette dernière fonctionne, il faudra que les catégories soient séparées et cocher le choix sur complet:

Affichage/Page d'acceuil/ Structure et hiérarchie/Niveau de compression de l'index

Séparer les catégories sur l'index :

Cocher sur complet

Hum, l'astuce consiste:
A afficher une barre au dessus de la première catégorie ( si on a cliqué sur un titre d'une catégorie).
Si cliqué, on masque la catégorie en question et on affiche son onglet dans la barre.
Un comptage/décomptage sera affiché mentionnant le nombre de catégories masquées.
Une petite croix sera déposée afin d'afficher toutes les catégories.
Mais rassurez vous, vous pourrez aussi cliquez sur l'onglet pour afficher sa catégorie.


Les aperçus imagés:











Ensuite, on va intervenir dans le template pour déposer une class

Dans le template index_box:
Affichage/Templates/Général/index_box

Recherchez ceci:
Code:

<dd class="dterm"><div class="table-title">{catrow.tablehead.L_FORUM}</div></dd>


Supprimez et remplacez par:
Code:

<dd class="dterm"><div class="table-title M14_maintitle">{catrow.tablehead.L_FORUM}</div></dd>




Pensez à enregistrer puis à valider en cliquant respectivement sur Enregistrer  puis  Ajout




Dans la feuille de style:
Affichage/Images et Couleurs/Couleurs/Feuille de style
Déposez ceci:
Code:

/*ON CACHE LES CATEGORIE*/
div[id^="/c"].forabg{display:none;}

/*LA BARRE DES ONGLETS*/
#M14_get_onglet
{
display:none;
width:99%;
padding:4px;
background:#96CA2D;
height: 30px;
line-height: 30px;
border-radius:6px;
margin: 16px 0px 0px 0px;
}
/*LES ONGLETS*/
a.M14_onglet
{
line-height: 30px;
height: 24px;
color: #ffffff !important;
font-size: 14px !important;
background-color: #8E3557;
padding:3px;
margin-left: 5px;
top: -3px;
position: relative;
border-radius: 6px;
cursor:pointer;
}
/*NOMBRE DE CATEGORIES*/
.M14_onglets
{
position:absolute;
width: 16px;
height: 16px;
margin-top:-20px;
margin-left: 10px;
background:#96CA2D;
text-align:center;
cursor:pointer;
-webkit-border-top-left-radius: 6px;
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topleft: 6px;
-moz-border-radius-topright: 6px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
/*APPARENCE DU TEXTE DU NOMBRE DE CATEGORIES CACHEES*/
.M14_onglets span
{
color:black;
font-weight:bold;
font-size:11px;
width: 16px;
height: 16px;
top: -8px;
position: relative;  
}
/*LE BOUTON D OUVERTURE DE TOUTES LES CATEGORIES*/
#M14_ongletsAlls
{
display:none;
position:absolute;
width: 16px;
height: 16px;
margin-top:-20px;
margin-left:40px;
background:#96CA2D;
text-align:center;
cursor:pointer;
-webkit-border-top-left-radius: 6px;
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topleft: 6px;
-moz-border-radius-topright: 6px;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
/*APPARENCE DU TEXTE D OUVERTURE DE TOUTES LES CATEGORIES*/
#M14_ongletsAlls span
{
color:black;
font-weight:bold;
font-size:11px;
width: 16px;
height: 16px;
top: -8px;
position: relative;  
}


Pensez à valider les modifications en cliquant sur le bouton Valider


Puis le script ou vous pourrez modifier le texte des infobulles comme bon vous semble les ami(e)s, attention toutefois a bien respecter
certaine information disponible en commentaire.


Modules/HTML JAVASCRIPT/Gestion des codes JavascriptCréer un nouveau javascript


Mettez un titre explicite.
Cochez sur l'index


Déposez ceci:
Code:

$(function(){
    /*
     * localStorage
     */
    var _lS=localStorage['_M14Cat']?JSON.parse(localStorage['_M14Cat']):[];
    //ON DONNE UNE INFOBULLE POUR OUVRIR TOUTES LES CATEGORIES
    var M14_affichAll="Afficher toutes les catégories";
    //ON DONNE UNE INFOBULLE AUX CATEGORIES MASQUEES
    var M14_numberInfobulleMasquees="Nombre de catégories masquées";
    //INFOBULLE CATEGORIE (laissez l espace a droite)
    var M14_CaTinfobulle="Masquer la catégorie ";  
    //INFOBULLE ONGLET (laissez l espace a droite)
    var M14_infobulle="Afficher la catégorie ";
    //ON INSERE UNE DIV RECEVANT LES ONGLETS
    $('.forabg:eq(0)').before('<div id="M14_get_onglet"><div class="M14_onglets"title="'+M14_numberInfobulleMasquees+'"><span>0</span></div><div id="M14_ongletsAlls"title="'+M14_affichAll+'"><span>X</span></div></div>');
    // AU CLIC SUR LE TITRE DES CATEGORIES
    $('.M14_maintitle').each(function(){
        //ON CHERCHE LE TEXTE DE LA CATEGORIE
        var M14_textCat=$(this).find('h2').text();
        //ON CHERCHE LE LIEN DE LA CATEGORIE
        var M14_GetLink=$(this).closest('.forabg').find('a.forumtitle').attr('href');
        if(_lS.indexOf(M14_GetLink)!=-1){
          $('#M14_get_onglet').fadeIn();
            $('#M14_ongletsAlls').fadeIn();
            $(this).closest('div.forabg').attr('id',M14_GetLink);
            $('#M14_get_onglet').append('<a class="M14_onglet" id="'+M14_GetLink+'" title="'+M14_infobulle + M14_textCat+'">'+M14_textCat+'</a>');
            //AU CLIC SUR LA PETITE CROIX ON AFFICHE TOUT
            $('#M14_ongletsAlls').click(function(){
                localStorage['_M14Cat']='';
              $('#M14_get_onglet').fadeOut();
                //on cache la petite croix
                $(this).hide();
                //on supprime les onglets
                $('.M14_onglet').remove();
                //on remet le compteur a zero
                $('.M14_onglets span').text(0);
                //on supprime les ids des categories
                $('.forabg[id^="/c"]').removeAttr('id').show();
            });
            $('.M14_onglets span').text($('#M14_get_onglet').find('.M14_onglet').length);
            $('a[id="'+M14_GetLink+'"]').click(function(){
                var _lS=localStorage['_M14Cat']?JSON.parse(localStorage['_M14Cat']):[];
                if(_lS.indexOf(this.id)!=-1)_lS.splice(_lS.indexOf(this.id),1);
                localStorage['_M14Cat']=JSON.stringify(_lS);
                $(this).remove();
                $('.M14_onglets span').text($('#M14_get_onglet').find('.M14_onglet').length);
                //ON SUPPRIME L ID DE LA CATEGORIE
                $('.forabg[id="'+M14_GetLink+'"]').removeAttr('id',M14_GetLink).show();  

                //Si pas d onglet
                if(!$('#M14_get_onglet').find('.M14_onglet').length){
                    $('#M14_ongletsAlls').fadeOut();
$('#M14_get_onglet').fadeOut();
                }
            });
        }
        $(this).css('cursor','pointer').attr('title',M14_CaTinfobulle+M14_textCat);
        //AU CLIC SUR LE TITRE DE LA CATEGORIE
        $(this).click(function(){
            /*
             * localStorage
             */
            var _lS=localStorage['_M14Cat']?JSON.parse(localStorage['_M14Cat']):[];
            _lS.indexOf(M14_GetLink)!=-1?_lS.splice(_lS.indexOf(M14_GetLink),1):_lS.push(M14_GetLink);
            localStorage['_M14Cat']=JSON.stringify(_lS);
$('#M14_get_onglet').fadeIn();
            //ON AFFICHE LA PETITE CROIX
            $('#M14_ongletsAlls').fadeIn();
            //ON AJOUTE L ID A LA CATEGORIE( en display none dans la css)
            $(this).closest('div.forabg').attr('id',M14_GetLink);
            //ON AJOUTE L ONGLET CORRESPONDANT A LA DIV
            $('#M14_get_onglet').append('<a class="M14_onglet" id="'+M14_GetLink+'" title="'+M14_infobulle + M14_textCat+'">'+M14_textCat+'</a>');
            //LE NOMBRE D ONGLET ACTIF
            var M14_onglets=$('#M14_get_onglet').find('.M14_onglet').length;
            //ON AFFICHE LE NOMBRE D ONGLET ACTIF
            $('.M14_onglets span').text(M14_onglets);
            //AU CLIC SUR L ONGLET      
            $('a[id="'+M14_GetLink+'"]').click(function(){
                var _lS=localStorage['_M14Cat']?JSON.parse(localStorage['_M14Cat']):[];
                if(_lS.indexOf(this.id)!=-1)_lS.splice(_lS.indexOf(this.id),1);
                localStorage['_M14Cat']=JSON.stringify(_lS);
                $(this).remove();
                $('.M14_onglets span').text($('#M14_get_onglet').find('.M14_onglet').length);
                //ON SUPPRIME L ID DE LA CATEGORIE
                $('.forabg[id="'+M14_GetLink+'"]').removeAttr('id',M14_GetLink).show();  
                //Si pas d onglet on affiche la gestion des categorie et on cache la petite croix
                if(!$('#M14_get_onglet').find('.M14_onglet').length){
                    $('#M14_ongletsAlls').fadeOut();
                  $('#M14_get_onglet').fadeOut();
                }
  
            });
        });
var M14_GetIndex=$('img[id="i_icon_mini_index"]').closest('a').attr('href');
if(location.pathname != ''+M14_GetIndex+''){$('#M14_get_onglet').remove();$('.M14_maintitle').unbind();};

      
    });
});


Pensez a cliquer sur le bouton Valider





Pour les petites têtes de linotte MDR , un petit rappel:


Pour que cette dernière fonctionne, il faudra que les catégories soient séparées et cocher le choix sur complet:

Affichage/Page d'acceuil/ Structure et hiérarchie/Niveau de compression de l'index

Séparer les catégories sur l'index :

Cocher sur complet



Voilà,c'est tout pour le moment.
Un soucis?
Direction l'entraide clin oeil
https://www.milouze14.com/f108-entraide-tous-supports



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum