Astuces Forumactif
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Membres connectés récemment
Voir tous les membres

[PHPBB3]Nombre de sujets erroné


2 participants

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

avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 1:00

Bonjour,

J'ai un javascript qui calcule et affiche approximativement le nbre de sujets sur les sous-forum.
Je crois que c'est Philippe qui l'avait mis au point.

Code:
//Afficher nombre de sujets, annonces et notes (sur sous forum)
$(function(){

$('strong:contains("Annonce globale:"), strong:contains("Annonce:"), strong:contains("Note:")').addClass('M14Important');
 
var f=$('strong.M14Important').length;// nombre notes + annonces
var e=$('.topic-title-container').length - f;// nombre de sujets
var nb_pages = $('span a:nth-last-child(2)', $('h1.page-title').next()).text(),
nb_topics_pages = '24',
total = nb_pages * nb_topics_pages;
                
$('ul.topiclist.topics li.header dt').append(' <span class=M14_num> '+ f +'</span>');

if($('div.pagination > span').length >0) {
    $('ul.topiclist.topics li.header dd.dterm').append(' : <span class=M14_text> Bientôt <span class=M14_num>' + total );
  }

if($('div.pagination > span').length <=0) {
$('ul.topiclist.topics li.header dd.dterm').append(' : <span class=M14_num> '+  e );
}

});

Je ne sais depuis quand, le nombre de sujets affichés reste à zéro alors qu'il fonctionnait correctement auparavant.

Spoiler:

Il me semble que c'est la variable nb_pages qui n'est plus correcte dans cette ligne.
Code:
var nb_pages = $('span a:nth-last-child(2)', $('h1.page-title').next()).text(),

Par ailleurs dans ce même code, la variable nb_topics_pages doit être renseignée manuellement. Est-ce qu'elle peut être renseignée automatiquement.

Merci pour votre aide.


Dernière édition par photoclic le Ven 31 Aoû 2018 - 23:05, édité 1 fois
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 9:32

Hello Serge,
le script a été retouché par une autre personne car ce n'est pas ma façon de coder.
Bref, il y a une solution bien plus fiable mon ami, il faut juste prendre le lien de la catégorie et de retrouver la ligne du forum concerné et prend la valeur des sujets.

Il faut donc dans le template index_box:
Affichage/Templates/Général/index_box


Trouver cette ligne (47 environ):
( il se peut quelle soit déjà mentionnée ainsi)

Code:
<dd class="topics">{catrow.forumrow.TOPICS}<dfn>{L_TOPICS}</dfn></dd>

La supprimer et la remplacer par:
Code:
<dd class="topics"><span>{catrow.forumrow.TOPICS}</span> <dfn>{L_TOPICS}</dfn></dd>


En faite, j'ai juste entourer la variable avec un span afin de prendre juste la valeur:
Code:
<span>{catrow.forumrow.TOPICS}</span>




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


Ensuite le script que tu as actuellement n'est pas fiable car les annonces post it sont seulement affichées sur la première page seule les annonces globales restent affichées.
Donc le nombre affiché est erroné.

Le script peut donc être supprimé ainsi que la css associée Serge.


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


Mets un titre explicite.
Coches sur les sous forums


Déposes ceci:
Code:

//Afficher nombre de sujets, annonces et notes (sur sous forum)
$(function(){
var M14_href=$('.nomargin').find('a[href^="/f"]').attr('href');
var M14_cat=$('.nomargin').find('a[href^="/c"]').attr('href');
$('strong:contains("Annonce globale:"), strong:contains("Annonce:"), strong:contains("Note:")').addClass('M14Important');
var M14_annonce=$('strong.M14Important').length;// nombre notes + annonces
$.get(M14_cat , function(data){
var M14_topics=$(data).find('a.forumtitle[href="'+M14_href+'"]').closest('dl').find('dd.topics span').text();
if(M14_annonce)
{
$('.forumbg').find('.topiclist.topics dt').append('<span style="color:inherit;margin-left:5px;">'+M14_topics+' sujets dont '+M14_annonce+' annonce(s)</span>');
}
else if(M14_topics)
{
$('.forumbg').find('.topiclist.topics dt').append('<span style="color:inherit;margin-left:5px;">'+M14_topics+' sujets </span>');
}
});});



Penses a cliquer sur le bouton Valider


avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 10:34

Bonjour Philippe,

Merci pour ton aide.

J'ai retrouvé ma demande FA pour ce script. C'est Walt qui en était l'auteur ici: https://forum.forumactif.com/t387748-nombre-total-de-sujets-ouverts-dans-un-forum

Tu l'as peut-être complété à ma demande et tout fonctionnait correctement.

Sinon, le template était effectivement déjà mentionné ainsi.

Le résultat obtenu avec ton script Philippe est celui-ci: une info au niveau des annonces et rien au niveau des sujets.
Spoiler:
Je laisse ton script en place.

Pour être sur que l'on se soit bien compris Phil, le nombre de sujets devrait correspondre au nombre total de sujets de l’ensemble des pages (chaque page étant considérée comme complète, le chiffre est donc approximatif et c'est pour cela que j'avais indiqué avant le chiffre Bientôt xxxx).

J'ai ré-essayé aussi le script d'origine de Walt, et j'ai aussi zéro en nbre de sujets.
La variable nb_pages  du script originel ne semble plus correcte.

Merci encore Philippe.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 10:49

Hum, tu as aussi ce script sur les sous forums:
Code:
   
//Afficher nombre de sujets, annonces et notes (sur sous forum)
    $(function() {
  if($('div.pagination > span').length > 0) {
    var nb_pages = $('span a:nth-last-child(2)', $('h1.page-title').next()).text(),
      nb_topics_pages = '50',
      total = nb_pages * nb_topics_pages;
 
    $('ul.topiclist.topics li.header dd.dterm').append(' (' + total + ')');
  }
});

et celui-ci:
Code:
//Afficher nombre de sujets, annonces et notes (sur sous forum)
$(function(){

$('strong:contains("Annonce globale:"), strong:contains("Annonce:"), strong:contains("Note:")').addClass('M14Important');
 
var f=$('strong.M14Important').length;// nombre notes + annonces
var e=$('.topic-title-container').length - f;// nombre de sujets
var nb_pages = $('span a:nth-last-child(2)', $('h1.page-title').next()).text(),
nb_topics_pages = '24',
total = nb_pages * nb_topics_pages;
               
$('ul.topiclist.topics li.header dt').append(' <span class=M14_num> '+ f +'</span>');

if($('div.pagination > span').length >0) {
    $('ul.topiclist.topics li.header dd.dterm').append(' : <span class=M14_text> Bientôt <span class=M14_num>' + total );
  }

if($('div.pagination > span').length <=0) {
$('ul.topiclist.topics li.header dd.dterm').append(' : <span class=M14_num> '+  e );
}

});


J'ai très bien compris ta demande Serge,
actuellement les valeurs affichées sont approximatives , avec le script donné on récupère la valeur du forum via la catégorie:


Exemple avec cette liste de sujets:
https://photoclic.forum-pro.fr/f4-phototest#M14

On récupère la valeur dans la catégorie:
https://photoclic.forum-pro.fr/c2-les-photos-du-clic
Soit 9538 sujets.

Mon script t'apportera cette valeur Serge.






Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 10:58

Je verrais tout cela ce soir Serge,
le nombre de sujet ne s'affiche pas , mon script se base sur un template non modifié à part le span ajouté.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 11:00

Re Phil,

Dans les sous-forum, je n'ai que ton script présent Philippe.
Tu es peut-être passé quand je re-essayais celui de Walt.

Désolé Phil, mais je n'ai que l'image présentée ici quand je vais dans la liste des sujets.
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 11:01

Nos messages se sont croisés.
Ce n'est pas urgent.

Oui, le template est modifié.
Je vais donc te le joindre.

Edit: Le voici:
Code:
<ul class="linklist">
 <!-- BEGIN switch_user_logged_in -->  
        <!-- Ajout bouton Voir la page Facebook -->
        <li> • <a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;" target="_blank" href="https://www.facebook.com/Photoclic/">Voir la page Facebook du clic</a> • </li>
          
 <li><a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;"href="{U_SEARCH_NEW}">Voir les nouveaux messages</a></li>
  
 <li class="sansrep"> • <a style="font-weight: bold;border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;"href="{U_SEARCH_UNANSWERED}">{L_SEARCH_UNANSWERED}</a></li>        
        <li class="rightside"> • <a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;"href="{U_SEARCH_SELF}">{L_SEARCH_SELF}</a></li>

 <li class="rightside"> • <a style="border: 1px solid #626262;border-radius:.3em;-moz-border-radius:.3em;-webkit-border-radius:.3em;padding: 0px 5px 0px 5px;"href="{U_MARK_READ}" accesskey="m">{L_MARK_FORUMS_READ}</a></li>
        <Br/><br/>
 <!-- END switch_user_logged_in -->
</ul>

<!-- BEGIN catrow -->
 <!-- BEGIN tablehead -->
 <div class="forabg">
 <div class="inner"><span class="corners-top"><span></span></span>
 <ul class="topiclist">
 <li class="header">
 <dl class="icon">
 <dd class="dterm"><div class="table-title">{catrow.tablehead.L_FORUM}</div></dd>
 <dd class="topics">{L_TOPICS}</dd>
 <dd class="posts">{L_POSTS}</dd>
 <dd class="lastpost"><span>{L_LASTPOST}</span></dd>
 </dl>
 </li>
 </ul>
 <ul class="topiclist forums">
 <!-- END tablehead -->

 <!-- BEGIN forumrow -->
 <li class="row">
 <dl class="icon" style="background:url({catrow.forumrow.FORUM_FOLDER_IMG}) no-repeat scroll {catrow.forumrow.INC_LEVEL} 50%;">
 <dd class="dterm">
 <div style="display: block; margin : 0 {catrow.forumrow.INC_LEVEL_RIGHT} 0 {catrow.forumrow.INC_LEVEL_LEFT};">
                                                          
 
     <h{catrow.forumrow.LEVEL} class="hierarchy M14_anchor">

                                                                  
 <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumtitle">{catrow.forumrow.FORUM_NAME}</a>
 </h{catrow.forumrow.LEVEL}>
 <br />
 {catrow.forumrow.FORUM_DESC}

 <!-- BEGIN switch_moderators_links -->
 {catrow.forumrow.switch_moderators_links.L_MODERATOR}{catrow.forumrow.switch_moderators_links.MODERATORS}
 <!-- END switch_moderators_links -->
                                                          
 
     <span class="M14_anchor">{catrow.forumrow.L_LINKS}{catrow.forumrow.LINKS}
     <strong>{forumrow.L_SUBFORUM_STR}</strong> {forumrow.SUBFORUMS}
     </span>

 </div>
 </dd>
                                          
    <dd class="topics"><span>{catrow.forumrow.TOPICS}</span> <dfn>{L_TOPICS}</dfn></dd>
    <dd class="posts"><span>{catrow.forumrow.POSTS}</span> <dfn>{L_POSTS}</dfn></dd>

                                          
 <dd class="lastpost">
 <!-- BEGIN ads -->
 <span class="AD_LastPA">
                                <span class="lastpost-avatar"><img src="{catrow.forumrow.ads.IMG}" alt="{catrow.forumrow.ads.TITLE}" /></span>
                                <span class="AD_LastInfos">
                                    <b><a href="{catrow.forumrow.ads.LINK}">{catrow.forumrow.ads.TITLE}</a></b><br />
                                    {catrow.forumrow.ads.DATE}<br />
                                    {catrow.forumrow.ads.LOCATION}
                                </span>
 </span>
                            <!-- END ads -->
 
                            <!-- BEGIN avatar -->
                            <span class="lastpost-avatar">{catrow.forumrow.avatar.LAST_POST_AVATAR}</span>
                            <!-- END avatar -->

 <span>
                                                          
                                                  
     <span class="M14_anchor">
     <!-- BEGIN switch_topic_title -->
     <a href="{catrow.forumrow.U_LATEST_TOPIC}" title="{catrow.forumrow.LATEST_TOPIC_TITLE}">{catrow.forumrow.LATEST_TOPIC_NAME}</a></span><br />
     <!-- END switch_topic_title -->
                                                          
                                                          
 {catrow.forumrow.USER_LAST_POST}
 </span>
 </dd>
 </dl>
 </li>
 <!-- END forumrow -->

 <!-- BEGIN tablefoot -->
 </ul>

 <span class="corners-bottom"><span></span></span></div>
 </div>
 <!-- END tablefoot -->
<!-- END catrow -->

<!-- BEGIN switch_on_index -->
<ul class="linklist">
 <li><a href="{U_TODAY_ACTIVE}">{L_TODAY_ACTIVE}</a> • </li>
 <li><a href="{U_TODAY_POSTERS}">{L_TODAY_POSTERS}</a> •&nbsp;</li>
 <li class="last"><a href="{U_OVERALL_POSTERS}">{L_OVERALL_POSTERS}</a></li>
 <!-- BEGIN switch_delete_cookies -->
 <li class="rightside"><a href="{switch_on_index.switch_delete_cookies.U_DELETE_COOKIES}" rel="nofollow">{switch_on_index.switch_delete_cookies.L_DELETE_COOKIES}</a></li>
 <!-- END switch_delete_cookies -->
</ul>
<!-- END switch_on_index -->

C'est vrai que ta façon de traiter cela est plus astucieuse et précise en allant chercher l'info via la catégorie yesss

Ce serait bien aussi si la valeur pour les sujets soit à côté de Sujets comme dans l'image tout en haut de la demande à la place du zéro.
Si compliqué, laisse ainsi.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 13:25

Re Serge, je suis avec mon portable,
Peux-tu me donner le template des catégories stp
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 13:51

Re Phil,

S'il s'agit de l'index_box je te l'avais posté plus haut Phil ici:
https://www.milouze14.com/t31636-phpbb3nombre-de-sujets-errone#601378
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 13:55

Oups désolé,je vois cela ce soir Serge clin oeil
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 14:04

Merci Philippe.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 18:51

Re Serge.
comme je suis Admin sur ton fofo,, je vais allais faire un tour pour voir ce qui cloche car
avec ton template l'astuce fonctionne aussi clin oeil
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Ven 31 Aoû 2018 - 19:19

Voilà qui est effectué Serge,
en faite , je voulais donner le script mais celui-ci est vraiment propre à ton fofo.
Le placement a été déplacé vers la deuxième partie, comme tu le souhaitais clin oeil
avatar
photoclic
https://photoclic.forum-pro.fr/

Messagephotoclic Ven 31 Aoû 2018 - 23:03

Ton script fonctionne parfaitement  super

Un grand merci Philippe tape la




Edit: Je n'ai pas trouvé le bouton Résolu en haut. Je l'ai donc édité pour cela.
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Sam 1 Sep 2018 - 4:51

De rien Serge,

Edit: Je n'ai pas trouvé le bouton Résolu en haut

Çà sent l'édition d'un message çà pascontentGrrrrrr lOL
.


-Staff du Forum Milouze14-



  • Hello 
    Sujet résolu et déplacé dans le forum adéquat.

Pour toute information,merci de contacter un Membre du Staff

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