[PUNBB] 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:

<!-- BEGIN tablehead -->
 <div class="main-head">
 <div class="page-title">{catrow.tablehead.L_FORUM}</div>
 </div>


Supprimez et remplacez par:
Code:

<!-- BEGIN tablehead -->
   <div class="M14_table">
 <div class="main-head">
 <div class="page-title M14_maintitle">{catrow.tablehead.L_FORUM}</div>
 </div>


Plus bas recherchez:
Code:

</div>
 <!-- END tablefoot -->

Supprimez et remplacez par:
Code:

</div></div>
 <!-- END tablefoot -->

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"].M14_table{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;
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
$('.M14_table: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('.M14_table').find('h2.hierarchy').find('a.forumtitle').attr('href');
        if(_lS.indexOf(M14_GetLink)!=-1){
            $('#M14_get_onglet,#M14_ongletsAlls').fadeIn();
            $(this).closest('.M14_table').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
                $('.M14_table[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
                $('.M14_table[id="'+M14_GetLink+'"]').removeAttr('id',M14_GetLink).show();  

                //Si pas d onglet
                if(!$('#M14_get_onglet').find('.M14_onglet').length){
                    $('#M14_get_onglet,#M14_ongletsAlls').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,#M14_ongletsAlls').fadeIn();
        
            //ON AJOUTE L ID A LA CATEGORIE( en display none dans la css)
            $(this).closest('.M14_table').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
                $('.M14_table[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_get_onglet,#M14_ongletsAlls').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


Dernière édition par Milouze14 le Mar 10 Avr 2018 - 15:19, édité 1 fois



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

Fondateur des forums





oneandone
avatar
Milouzien

Messageoneandone

  • 16px
  • 24px
  • Zoom
Bonjour Milouze,

Merci pour tout ce que tu fais, c'est vraiment coool.

J'ai suivi toute les étapes, mais cela marche pas pour moi sur PunBB. marreordi
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello oneandone,

Merci pour tout ce que tu fais, c'est vraiment coool.
De rien et je ne suis pas tout seul sur cette astuce hinhin .


Hum merci de renseigner le lien de ton forum dans ton profil stp clin oeil .
De plus toujours dans ton profil, tu mentionnes la version Phpbb2 !!!



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

Fondateur des forums





oneandone
avatar
Milouzien

Messageoneandone

  • 16px
  • 24px
  • Zoom
le fofo ok


Dernière édition par oneandone le Lun 9 Avr 2018 - 18:15, édité 1 fois
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Il faut le renseigner ici:
https://www.milouze14.com/profile?mode=editprofile

Ensuite ce forum n'est pas conçu pour apporter de l'aide sur l'astuce présente, il faudra passer par l'entraide oneandone clin oeil



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

Fondateur des forums





oneandone
avatar
Milouzien

Messageoneandone

  • 16px
  • 24px
  • Zoom
Ok l'ami, désolé je ne savais pas ! .
Donc tu pourra pas m'aider ?
C'est bon j'ai modifier dans mon profile comme souhaitée :)
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom

Ok l'ami, désolé je ne savais pas ! .

C'est pas grave Rani clin oeil
Donc tu pourra pas m'aider ?

Ah ben si tout de même , mais sur l'entraide:
https://www.milouze14.com/f108-entraide-tous-supports#M14



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

Fondateur des forums





oneandone
avatar
Milouzien

Messageoneandone

  • 16px
  • 24px
  • Zoom

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