Widget s'affichant uniquement dans un forum désiré

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

  • 0

Astuce Widget s'affichant uniquement dans un forum désiré

Message par Shadow le Lun 15 Avr 2013 - 12:29

Afficher un Widget dans un forum uniquement

Voici une petite astuce qui vous permettra de faire apparaitre un widget uniquement dans le forum de votre choix.

Voici les étapes à suivre pour réaliser cela:

1. Création du widget


Panneau d'administration Modules Gestion des Widgets du forum Créer un widget personnalisé



Voici un exemple de code à insérer dans le champ "Titre du Widget" :

Code:
<span  class="module_forum [2,3]">Titre de votre widget</span>

Le plus important ici est le Titre du Widget . Le titre est étiqueté par "span" qui contient la "classe" CSS appelée "module_forum [2,3]". A l’intérieur des parenthèses se trouvent les chiffres des forums sur lesquels le widget apparaîtra.



Exemple: Sur le FdF, le forum des Trucs & Astuces est le forum avec l'identifiant 8 (forum.forumactif.com/f8-trucs-et-astuces)

Si je veux afficher un widget uniquement sur ce forum j'indiquerais donc:

Code:
<span  class="module_forum [8]">Titre de mon widget</span>





Vous pouvez aussi mettre à l’intérieur de ces parenthèses les éléments : I ou *

I Pour indiquer l'index du forum
* Pour indiquer dans tous les forums, y compris l'index


Voici un exemple de mon widget apparaissant uniquement sur les forums 2 et 3:




Si voulez que votre widget s'affiche sur l'index et sur les forums avec l'identifiant 2 et 3 (/f2 et /f3- donc) il faudra mettre : module_forum [I, 2, 3] Wink

2. Création du code Javascript


Il faut maintenant ajouter le code Javascript permettant d'afficher le widget seulement sur les forums souhaités:

Panneau d'administration Modules HTML & JAVASCRIPT Gestion des codes Javascript Créer un nouveau javascript



Le code Javascript à insérer:

Code:

$(function(){ 
  $("div#left table.forumline, div#left div.module, right#left table.forumline, right#left div.module").has("[class^='module_forum']")
      .hide();
  $("[class^='module_forum']").each(function(){             
      var arr = $(this).attr("class").match(/\d+|[\*PI]/gi);
      for(f in arr){
        if(arr[f] == "*" || (arr[f].toUpperCase() == "I" && fa_is_on_index()) || fa_is_in_forum(arr[f])){
            $(this).closest("div#left table.forumline, div#left div.module, right#left table.forumline, right#left div.module")
              .show();
        }
      }         
  });
});

function fa_is_on_index(){
  return $("#i_icon_mini_index").parent().attr("href") == $(location).attr('pathname');
}
function fa_is_in_forum(num_forum){
  var found = false;
  $("a[href^='/f'].nav").each(function () {
      href = $(this).attr("href");
      if (href.match(/^\/f\d+/)) {
        numf = parseInt(href.match(/^\/f\d+/)[0].replace("/f", ""));
        if (num_forum == numf) {
            found = true;
        }
      }
      if(found) return false;
  }); 
 
  return found;
}

À vous de jouer maintenant! Wink




Règles Générales du Forum - Le Staff de ForumActif
Questions & Réponses Fréquentes - Trucs & Astuces
Outils Fondateurs - Perte de Mot de Passe

Shadow
Adminactive
Adminactive

Féminin
Messages : 23786
Inscrit(e) le : 30/03/2007

http://forum.forumactif.com
Shadow a été remercié(e) par l'auteur de ce sujet.

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


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