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] Mettre en forme le widget crée "Mes derniers MPs"

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

Roza
Roza
https://ami-ma.forumactif.com/

MessageRoza Dim 8 Nov 2020 - 23:54

  • Version du forum :
    PHPBB3
  • Templates modifiés :
    oui
  • Navigateur :
    Firefox
Bonsoir Phil.

Mon souhait est de mettre en forme ce widget créé "Mes derniers MPs", comme celui des "Sujets récents" (avec permissions spéciales)

Voir ici : https://www.milouze14.com/t32822-resoluphpbb3-mise-en-forme-du-widget-derniers-sujets#anchor

J'ai bien essayé de modifier le JS  de "Mes derniers MPs" qui est actuellement celui-ci :

Code:
$(function(){
            if(!_userdata["session_logged_in"])return;
            $(function(){
            var u=_userdata["user_id"];
          if(u==1||u==5||u==45)
            $('table.portal').each(function(){
            //modifier le texte du titre ici
              var a="Mes messages privés récents";
          $(this).find('td.column:first').find('div.module').first().after('<div class="Widget_portail">
            <div class="module"><div class="h3">'+a+'</div>
            <div id="M14_load_widget"class="inner"></div></div></div>');
           var $this=$('#M14_load_widget');
    $.get('/privmsg?folder=inbox' , function(data){
    $(data).find('a.topictitle:lt(6)').each(function(){
    var link=$(this).attr('href');
    var text=$(this).text();
    $this.append('<a class="topictitle info" href="'+link+'" title="'+text+'">'+text+'</a>');
     $('.topictitle.info').tooltipster({
              animation : 'fade',
              arrow : true,
              speed : 300,
              delay : 300,
              onlyOne : true,
              theme : 'tooltipster-default'
    });

    });

    });                                                                  
            });  
            })});

à la lumière de celui des "Sujets récents" :

Code:
$(function(){
    if(!_userdata["session_logged_in"])return;
    $(function(){
    var u=_userdata["user_id"];
    if(u==1||u==4||u==5||u==6||u==7||u==8||u==9||u==10||u==11||u==45)
    $('table.portal').each(function(){
    //modifier le texte du titre ici
      var a="Messages/Sujets les plus récents";
    $(this).find('td.column').last().find('div.module').first().after('<div class="Widget_portail">
    <div class="module"><div class="h3">'+a+'</div>
    <div id="M14_load_widget"class="inner"></div></div></div>');
    var $this=$('#M14_load_widget');
    $.get('/latest' , function(data){
    $(data).find('a.topictitle:lt(10)').each(function(){
    var color=$(this).closest('li').find('.lastpost a[href^="/u"] span').css('color');
    var auteur=$(this).closest('li').find('.lastpost a[href^="/u"]').text();
    var date=$(this).closest('li').find('dd.lastpost').find('.M14_search_time').text();
    var link=$(this).closest('li').find('.lastpost a[href^="/t"]').attr('href');
    var text=$(this).text();
      $this.append('<div class="M14_ligne"><a class="topictitle info" href="'+link+'" title="'+text+'">'+text+'</a><span style="color:'+color+';font-weight:bold;">par '+auteur+'</span><span style="float:right;">'+date+'</span></div><hr/>');
    $('.topictitle.info').tooltipster({animation : 'fade',arrow : true,speed : 300,delay : 300,onlyOne : true,
    theme : 'tooltipster-default'});});});});})});

mais au final, le résultat global n'est pas au rendez-vous !!!

Je m'en remets donc, une fois encore, à tes talents.

Bonne nuit et d'avance merci.
Roza
Roza
https://ami-ma.forumactif.com/

MessageRoza Lun 9 Nov 2020 - 0:00

J'ai oublié la CSS actuellement en fonction :

Code:
#M14_load_widget a.topictitle
    {
    display:list-item;
    list-style:none;
    overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    max-width:98%;
      font-size:10px;
    }
    /*CHAQUE LIGNE DU WIDGET*/
    #M14_load_widget .M14_ligne
    {
    height:30px;
    }
    /*LE PSEUDO ET LA DATE*/
    #M14_load_widget .M14_ligne span
    {
      font-size:10px;
    }     
    /*CHAQUE LIGNE DU WIDGET*/
    #M14_load_widget .M14_ligne
    {
    background:white;
    height:30px;
    }
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 9 Nov 2020 - 6:21

Coucou Roza,

alors on va intervenir dans le template privmsgs_body:
Affichage/Templates/Poster et messages privés/privmsgs_body

Recherches ceci (ligne 55 environ):

Code:
<span style="margin: 0 5px"><em>{listrow.FROM} - {listrow.DATE}</em></span>

Supprimes et remplaces par:

Code:
<span style="margin: 0 5px"><em><span class="M14_userMP">{listrow.FROM}</span> - <span class="M14_dateMP">{listrow.DATE}</span></em></span>


Penses a enregistrer puis à valider en cliquant respectivement sur Enregistr puis Ajout


On a englobé le pseudo et la date dans la liste des mps.

Ensuite, je viens de me rendre compte qu'il faut mettre un identifiant différent pour chaque div:

Pour les sujets récents, tu as cet id:
M14_load_widget

Pour les Mps ce sera:

M14_load_widgetmp

Remplaces donc le script des mps par celui-ci:
Code:
$(function(){
                if(!_userdata["session_logged_in"])return;
                $(function(){
                var u=_userdata["user_id"];
              if(u==1||u==5||u==45)
                $('table.portal').each(function(){
                //modifier le texte du titre ici
                  var a="Mes messages privés récents";
              $(this).find('td.column:first').find('div.module').first().after('<div class="Widget_portail">
                <div class="module"><div class="h3">'+a+'</div>
                <div id="M14_load_widgetmp"class="inner"></div></div></div>');
              var $this=$('#M14_load_widgetmp');
        $.get('/privmsg?folder=inbox' , function(data){
        $(data).find('a.topictitle:lt(6)').each(function(){
        var link=$(this).attr('href');
        var text=$(this).text();
        var date=$(this).closest('dt').find('.M14_dateMP').text();
        var auteur=$(this).closest('dt').find('.M14_userMP').text();
        var color=$(this).closest('dt').find('.M14_userMP a[href^="/u"] span').css('color');
        $this.append('<div class="M14_ligne"><a class="topictitle info" href="'+link+'" title="'+text+'">'+text+'</a><span style="color:'+color+';font-weight:bold;">par '+auteur+'</span><span style="float:right;">'+date+'</span></div><hr/>');
        $('.topictitle.info').tooltipster({
                  animation : 'fade',
                  arrow : true,
                  speed : 300,
                  delay : 300,
                  onlyOne : true,
                  theme : 'tooltipster-default'
        });

        });

        });                                                                 
                }); 
                })});

Puis remplaces la css donnée par celle ci:
Code:
    div[id^="M14_load_widget"] a.topictitle
        {
        display:list-item;
        list-style:none;
        overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
        max-width:98%;
          font-size:10px;
        }
        /*CHAQUE LIGNE DU WIDGET*/
        div[id^="M14_load_widget"] .M14_ligne
        {
        background:white;
        height:30px;
        }
        /*LE PSEUDO ET LA DATE*/
        div[id^="M14_load_widget"] .M14_ligne span
        {
          font-size:10px;
        }   
       


Code:
div[id^="M14_load_widget"]

Veut dire, toutes les divs ayant un id commençant par "M14_load_widget".

Cela évite de doubler la css.

Roza
Roza
https://ami-ma.forumactif.com/

MessageRoza Lun 9 Nov 2020 - 9:08

Bonjour Phil !

J'avais bien trouvé certaines choses... mais pas tout (modifier Le template, ignorance de la syntaxe JS appropriée : "userMP" notamment)

Tout est OK maintenant !
Encore une fois un grand Merci pour l'aide à toi !

Grâce à toi, le portail de mon forum a donc pris maintenant une allure qui me convient Merci

Je passe en résolu.
Bonne journée et, probablement...  à bientôt... hinhin
Milouze14
Milouze14
Fondateur

https://www.milouze14.net/

MessageMilouze14 Lun 9 Nov 2020 - 15:10

De rien Roza clin oeil .


Hello


Sujet résolu et déplacé dans le forum adéquate

A bientôt pour une prochaine demande clin oeil

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