Supprimer annonces globales dans catégorie blog

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

Résolu Supprimer annonces globales dans catégorie blog

Message par Exotic le Lun 6 Jan 2014 - 18:58

Bonjour à tous I love you 
Voilà, j'aurai besoin d'une petite aide,

Ayant des annonces globales sur mon forum, je souhaite cependant les éviter sur la catégorie type blog qui selon moi sont pas utiles à cet endroit-ci.
J'ai trouvé ce sujet ci : http://forum.forumactif.com/t318722-comment-puis-je-faire-pour-supprimer-une-annonce-globale-sur-mon-blog qui m'éclaire un minimum sur la démarche, mais hélas ayant pour le moment deux annonces globales, je voulais savoir comment modifier le code qui fonctionne avec qu'une seule.

Donc si zz10 passe par là ou quelqu'un s'y connaissant, je suis preneuse.
Je voudrais juste qu'on m'explique la démarche, comme ça je pourrais mieux comprendre et modifier si besoin.
Merci d'avance  thumright 
Sarah

Exotic
Nouveau membre

Messages : 20
Inscrit(e) le : 14/01/2010

http://rock-me-in.forumactif.org/
Exotic a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer annonces globales dans catégorie blog

Message par [Nihil] le Lun 6 Jan 2014 - 19:10

Aurais tu un lien vers une des pages qui posent problème pour que je vérifie quelque chose ?

En attendant je te donne ce que je pense être le code bon, mais sans être sure que cela soit ça à 100%.

Le code d'origine :
Code:
$(document).ready(function(){
   $(".forumline_special_blog th").eq(0).css("display","none");
   $(".forumline_special_blog td").eq(0).css("display","none");
});

Code:
$(".forumline_special_blog th")
Sélectionne toutes les balises th à l'intérieur des éléments avec la class ".forumline_special_blog"
Cela va renvoyer une liste d'élément (il y en a plusieurs). Or on ne veut pas toutes les masquer, mais seulement les annonces globales.

Comme c'est une annonce globale, elle se met tout en haut, c'est donc la toute première. .eq(0) va donc sélectionner la première (en fait on commence à compter à 0).
S'il n'y a plus d'annonce globale, il faut absolument enlever le code, sinon la première ligne tout en haut (qui ne sera plus une annonce globale, mais quelque chose de normale) sera masquée !
Du coup logiquement pour masquer une seconde annonce on copierai la ligne, avec cette fois .eq(1)

Code:
.css("display","none");
Ceci va masquer l'élément.

Est ce un peu plus clair Smile?
Ce n'est que ma compréhension du code bien entendu ^^, mais cela me semble logique.

[Nihil]
# Tropactif #

Messages : 1155
Inscrit(e) le : 10/12/2009

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

Résolu Re: Supprimer annonces globales dans catégorie blog

Message par Exotic le Lun 6 Jan 2014 - 19:40

Déjà merci pour ta réponse rapide  I love you 
Hélas, je n'ai pas de lien à te donner, mon forum n'est pas encore ouvert, et est même bloqué. donc en tant qu'invité, tu ne verras rien.
Qu'est ce que tu voudrais vérifier ? Je peux peut-être aller voir ? Je m'y connais en code (hormis le javascript) donc, je serai pas perdue normalement ^^

Merci pour l'explication, c'est exactement comme ça que je l'avais compris.
J'avais donc modifier le script de la bonne manière :
Code:
$(document).ready(function(){
  $(".forumline_special_blog th").eq(0).css("display","none");
  $(".forumline_special_blog td").eq(0).css("display","none");
  $(".forumline_special_blog th").eq(1).css("display","none");
  $(".forumline_special_blog td").eq(1).css("display","none");
});

J'ai lié mon script dans le template overall_header.
J'ai modifié mon template topics_list_box.

Donc, techniquement, ça devrait marcher.
En cherchant dans le code, je pense voir où ça peut bloquer, parce que la classe forumline_special_blog que j'ai ajouté à ma table forumline, je la trouve pas dans le code source.
Je te remet le template au cas où, sachant que déjà dedans, j'avais modifié quelques petits trucs qui marchent parfaitement.

Code:
<!-- BEGIN topics_list_box --><!-- BEGIN row --><!-- BEGIN header_table --><!-- BEGIN multi_selection -->
<script type="text/javascript">
function check_uncheck_main_{topics_list_box.row.header_table.BOX_ID}() {
   var all_checked = true;
   for (i = 0; (i < document.{topics_list_box.FORMNAME}.elements.length) && all_checked; i++) {
      if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
         all_checked = document.{topics_list_box.FORMNAME}.elements[i].checked;
      }
   }
   document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked = all_checked;
}
function check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}() {
   for (i = 0; i < document.{topics_list_box.FORMNAME}.length; i++) {
      if (document.{topics_list_box.FORMNAME}.elements[i].name == '{topics_list_box.FIELDNAME}[]{topics_list_box.row.header_table.BOX_ID}') {
         document.{topics_list_box.FORMNAME}.elements[i].checked = document.{topics_list_box.FORMNAME}.all_mark_{topics_list_box.row.header_table.BOX_ID}.checked;
      }
   }
}
</script>
<!-- END multi_selection -->
<table class="forumline forumline_special_blog" width="100%" border="0" cellspacing="1" cellpadding="0">
   <tr>
      <!-- BEGIN multi_selection -->
      <th align="center" nowrap="nowrap" width="20"><input onclick="check_uncheck_all_{topics_list_box.row.header_table.BOX_ID}();" type="checkbox" name="all_mark_{topics_list_box.row.header_table.BOX_ID}" value="0" /></th>
   <!-- END multi_selection -->
   </tr>
   <!-- BEGIN pagination -->
   <tr>
      <td class="row1" colspan="7" align="right"><span class="gensmall">{PAGINATION}</span></td>
   </tr>
   <!-- END pagination -->
   <!-- END header_table --><!-- BEGIN header_row -->
   <tr>
      <td class="row3" colspan="{topics_list_box.row.COLSPAN}"><span class="gensmall"> <b>{topics_list_box.row.L_TITLE}</b></span></td>
   </tr>
<!-- END header_row -->

<!-- BEGIN topic -->
{topics_list_box.row.END_TABLE_STICKY}
   <tr><td><div class="listingsujet">
          <div class="imglistsujet"><img title="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" src="{topics_list_box.row.TOPIC_FOLDER_IMG}" alt="{topics_list_box.row.L_TOPIC_FOLDER_ALT}" /></div>
     <div class="contenusujet">
            <div class="titresujet"><div class="annoncesujet">{topics_list_box.row.NEWEST_POST_IMG}{topics_list_box.row.PARTICIPATE_POST_IMG}{topics_list_box.row.TOPIC_TYPE}</div><div class="h2sujet"><h2><a href="{topics_list_box.row.U_VIEW_TOPIC}">{topics_list_box.row.TOPIC_TITLE}</a></h2></div></div>
            <div class="clear"></div><div class="desclistsujet"><span class="createursujet">créé par {topics_list_box.row.TOPIC_AUTHOR}</span>
              <span class="genmed"><br />{topics_list_box.row.topic.switch_description.TOPIC_DESCRIPTION}</span>
              <span class="createursujet"> {topics_list_box.row.REPLIES} réponses | {topics_list_box.row.VIEWS} vues</span>
              <span class="gensmall">{topics_list_box.row.GOTO_PAGE}<!-- BEGIN nav_tree -->{topics_list_box.row.TOPIC_NAV_TREE} <!-- END nav_tree --></span>
            </div>
          </div>

          <div class="replylistsujet"><span class="postdetails">{topics_list_box.row.LAST_POST_TIME}<br />{topics_list_box.row.LAST_POST_AUTHOR} {topics_list_box.row.LAST_POST_IMG}</span></div></div></td>
<!-- BEGIN multi_selection -->
      <td class="row2" align="center" valign="middle"><span class="postdetails"><input onclick="javascript:check_uncheck_main_{topics_list_box.row.BOX_ID}();" type="checkbox" name="{topics_list_box.FIELDNAME}[]{topics_list_box.row.BOX_ID}" value="{topics_list_box.row.FID}" {topics_list_box.row.L_SELECT} /></span></td>
   <!-- END multi_selection -->
          </tr>
   <!-- END topic --><!-- BEGIN no_topics -->
   <tr>
      <td class="row1" colspan="{topics_list_box.row.COLSPAN}" align="center" valign="middle" height="30"><span class="gen">{topics_list_box.row.L_NO_TOPICS}</span></td>
   </tr>
   <!-- END no_topics --><!-- BEGIN bottom -->
   <tr>
      <td class="forumline" colspan="{topics_list_box.row.COLSPAN}" valign="middle">
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr>
               <td> <span class="gensmall">{PAGINATION}</span></td>
               <td align="right"><a href="#top">{L_BACK_TO_TOP}</a> </td>
            </tr>
         </table>
      </td>
   </tr>
<!-- END bottom --><!-- BEGIN footer_table -->
</table>
<!-- END footer_table --><!-- BEGIN spacer --><br class="gensmall" /><!-- END spacer --><!-- END row --><!-- END topics_list_box -->

Exotic
Nouveau membre

Messages : 20
Inscrit(e) le : 14/01/2010

http://rock-me-in.forumactif.org/
Exotic a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Supprimer annonces globales dans catégorie blog

Message par [Nihil] le Lun 6 Jan 2014 - 19:48

En fait je voulais jeter un coup d’œil au code généré HTML pour pouvoir tester directement dans la console le code JS ^^

Effectivement si la classe ajoutée n'apparait pas dans le code source... o_o', ça ne risque pas de marcher. Là je sais pas pourquoi elle ne s'ajoute pas.

[Nihil]
# Tropactif #

Messages : 1155
Inscrit(e) le : 10/12/2009

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

Résolu Re: Supprimer annonces globales dans catégorie blog

Message par Exotic le Lun 6 Jan 2014 - 20:10

La fatigue je crois, mais j'ai trouvé mon soucis.
J'avais mis la classe dans le template topics_list_box au lieu de topics_blog_box,
Du coup, ça marche parfaitement  I love you 
Merci beaucoup du coup pour ton explication  thumright 

Exotic
Nouveau membre

Messages : 20
Inscrit(e) le : 14/01/2010

http://rock-me-in.forumactif.org/
Exotic 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