Le deal à ne pas rater :
Cartes Pokémon : la prochaine extension Pokémon sera EV6.5 Fable ...
Voir le deal


Js Tag utilisateur et champ de profils

Musea
Invité

Anonymous



   
Helloooooo Embarassed

Je commence déjà par l'infinité de remerciements et la montagne de fleurs que tu mérites pour avoir conçu ce thème cheers Grâce à toi, j'ai enfin eu le courage de passer du BB2 au Modern et ce fut la meilleure décision de l'année ! Je patauge encore pas mal et je vais à mon rythme mais une chose est sûre, ce blank thème est une merveille et franchement chapeau pour le travail  Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven

Étant une bavarde désespérée, je mets le reste du bouquin sous spoiler pour que la taille ne te fasse pas flipper de suite  Arrow


0. Introduction tout à fait inutile:





1- Isoler les champs de profil:


2- Tag impossible à côté du pseudo.:


Je sens déjà que ce sont des problèmes débiles et que tu me remettras sur le droit chemin vite fait bien fait Laughing Mais en tout les cas je te remercie déjà pour le temps que tu m'accordes. Des bisous tout pleins  I love you
Musea
Invité

Anonymous



   
Coucooou !

Je n'aurais pas tardé à revenir Laughing

Je passais simplement préciser que j'ai trouvé ce qui bloquait dans le code à propos du problème 1. Ils avaient raison sur le FdF, effectivement la class .field de la ligne 51 est erronée.

Ça doit être:

Code:
p.classList.add('.user_field-' + slug);

et pas:

Code:
p.classList.add('field-' + slug);

En tout cas, il n'y a qu'en changeant cette ligne que j'ai réussi à le faire fonctionner chez moi cat Mais les deux points persistent à me rendre la vie dure.

Voilà voilà. Je repasserai s'il y a du nouveau, et qui sait, peut-être que je trouverai toute seule toutes les solutions comme une grande Laughing

Des bisous I love you
Musea
Invité

Anonymous



   
Re !
( à quel moment ça commence à passer pour du harcèlement ? bounce )

Alors, cette fois c'est une question qui pourrait aussi être une suggestion: comment isoler les champs de profil dans plus de deux éléments ?

Personnellement, j'ai trois onglets et ils sont tous supposés accueillir des champs de profil (pas de feuilles de personnages). J'ai essayé de bidouiller le script mais étant une guigne en la matière, j'arrive à rien.

Merci une fois de plus de m'apporter tes lumières I love you
Et promis, j'arrête de te spammer bom
Kim

Kim


Pronoun(s) : Elle/she
Messages : 159

   
Heyoo!

Haha ok je dois avouer au début en voyant autant de message que j'avais une GROSSE erreur dans mes codes et que depuis tout ce temps c'était en libre service Arrow Mais en fait tout va bien 🙏
Merci pour ton message en introduction, très contente que tu te sois décidé à abandonner le vilain PhpBB2!

Pour les champs de profil :
Je suis pas sûre d'avoir 100% saisi ton problème (mais je culpabilise moins vu que tu sembles l'avoir régler). Tu me parles du tuto de Velunes mais moi j'utilise le tuto de Flexex qui est un utilisateur hispannique. Les deux codes sont différents 😭 J'ai été testé de mon côté, il fonctionne parfaitement donc je suis un peu confuse.
En suite pour retirer les : seulement de ton champs de gif, il suffit simplement de répérer la class qui englobe totalement le champ, puis son label. Par exemple :

Code:
<div class="user_field field-messages"> // Ici la class .field-messages englobe le champ

    <span class="field_label">Messages: </span> // Ici le label

    <span class="field_content">25</span>
</div>

Il faut ensuite passer en CSS et mettre ceci pour anéantire pour de bon ces fameux points :

Code:
.field-messages > .field_label { font-size: 0 }

Pour bouger des éléments dans plus d'élément :
Je reprends le JS de Flerex si c'est bien celui que utilises et je double l'astucieux ajout de Monomer ainsi (tout est commenté)

Code:
// PLACEMENT : Sur les sujets

// [SPANISH] by Flerex
// https://flerex.dev/entradas/clases-unicas-a-los-campos-del-miniperfil

// Options, by Monomer
// Possibilité de déplacer un champs dans un autre élément

!function() {

   const settings = {
                semicolon: true, // false = retire les (:) après un nom de champs
      cleanUp: true,
         
          // Option pour déplacer un champs dans un autre élément, laissez vide pour désactiver
          move: ['champ', 'champ'], // Nom du champs (exemple : 'message')
          moveTo: '.class', // élément dans lequel les champs seront déplacés

          // Deuxième déplacement de champ
          move2: ['champ', 'champ'], // Nom du champs (exemple : 'message')
          moveTo2: '.class' // élément dans lequel les champs seront déplacés
   },


   slugify = str => {
        const from = 'àáäâãåăæçèéëêǵḧìíïîḿńǹñòóöôœøṕŕßśșțùúüûǘẃẍÿź·/_,:;',
        to = 'aaaaaaaaceeeeghiiiimnnnooooooprssstuuuuuwxyz------',
        reg = new RegExp(from.split('').join('|'), 'g');

        return str.trim().toLowerCase()
              .replace(/\s+/g, '-')
              .replace(reg, c => to.charAt(from.indexOf(c)))
              .replace(/&/g, '-and-')
              .replace(/[^\w\-]+/g, '')
                .replace(/\-\-+/g, '-')
                .replace(/^-+/, '')
                .replace(/-+$/, '');
    },

    hideSemicolon = (label, name) => {
        if (label.firstElementChild)
            label.lastChild.remove();
        else
            label.textContent = name;
    },

    main = _ => {

       document.querySelectorAll('.user_field').forEach(p => {
          const labelcontainer = p.querySelector('.field_label'),
          label = labelcontainer.querySelector('.label'),
            name = label.textContent.replace(/ *: *$/, ''),
          slug = slugify(name);

          p.classList.add('field-' + slug);
         
// DEPLACER UN ELEMENT   
          if(settings.move.includes(slug)) {
          p.closest('.post_profile').querySelector(settings.moveTo).appendChild(p);
        }
// fin

// AJOUTER DES ELEMENTS A DEPLACER
          if(settings.move2.includes(slug)) {
          p.closest('.post_profile').querySelector(settings.moveTo2).appendChild(p);
        }
// fin

          if (settings.cleanUp) {
             labelcontainer.textContent = settings.semicolon ? name + ': ' : name;
          } else if (!settings.semicolon) {
                hideSemicolon(label, name)
          }
       });

    };

    document.addEventListener('DOMContentLoaded', main);
}();
Kim

Kim


Pronoun(s) : Elle/she
Messages : 159

   
Moi aussi j'ai la folie des doubles messages pour que ça soit plus clair, je reviens pour ton problème du tag. C'est simplement que c'est un JS différent qui est proposé dans le même post que j'ai link en commentaire :

https://forum.forumactif.com/t378492-rendre-le-systeme-de-mentions-plus-facile-a-utiliser

Je t'invite juste à suivre leurs indications pour la première option! (c'est la deuxième qui est mis sur le blank theme)

Voilà, voilà! J'espère que j'ai fais le tour et que tout rentreras dans l'ordre.
Encore merci pour le message ♥ Hésite pas à repasser ici pour me montrer ton forum une fois fini 👌
Et si le coeur t'en dis de me supporter sur Ko-Fi 🙏
Musea
Invité

Anonymous



   
Ok là je talonne carrément ton message, bonjour la spammeuse de service Laughing

Alors, déjà grand merci pour cette réponse ultra rapide !

Et je suis vraiment désolée pour la grosse frayeur, c'était pas du tout voulu Embarassed

En ce qui concerne le code de Velunes, en fait je l'ai découvert en cherchant des solutions pour mon problème justement, sinon je ne connaissais même pas son existence. E pour te le confirmer, c'est bien le tien que j'utilise. Je me suis attardée sur celui de Velunes uniquement pour comprendre les explications et essayer de trouver l'erreur chez moi. C'est super que le script chez toi fonctionne parfaitement, mais chez moi, sans cette modification de la ligne 52, il ne fonctionnait pas. Mais tout va bien qui finit bien Js Tag utilisateur et champ de profils 1f64f

GRAND MERCI pour le déplacement des champs, je l'ai testé, il fonctionne impecc ! Et j'avais déjà fini par comprendre qu'il fallait passer par les classes pour enlever ces deux points (je voulais passer le notifier mais j'ai eu peur de dépasser les limites haha).


Pour le tag :
Effectivement, il s'agit de deux codes différents et je parlais bien du bon code (celui utilisé pour mettre le @ à côté du pseudo). Je l'utilise actu sur un autre forum BB2, mais sur Modern je n'ai pas encore réussi à le faire fonctionner avec le Blank Thème. Donc ce problème reste irrésolu. Désolée de pas avoir été assez claire dans mon premier message Embarassed


Je passerai sur ton Ko-fi parce que tu le mérites carrément ! I love you Encore merci !
Kim

Kim


Pronoun(s) : Elle/she
Messages : 159

   
Haha non pas de souci pour la longueur du message 👌

Ah oui effectivement le tuto de forumactif utilise les class de base de leur thème alors qu'elles sont toutes (ou presque) modifiées sur le blank theme!

Repère la ligne 17 et change .postprofile-name a pour >>> .post_pseudo a 🙏

Et merci d'avance pour le KoFi ♥♥
Musea
Invité

Anonymous



   
Et me revoilà pour les mauvaises nouvelles, car oui, il refuse toujours de fonctionner  Js Tag utilisateur et champ de profils 1f62d

Pour info, la balise du nom est légèrement modifiée chez moi, ce qui donne ça:

Code:
<div class="post_profile" id="profile{postrow.displayed.U_POST_ID}">
          
                <!-- Pseudo -->
              <div class="namePOST"><strong>{postrow.displayed.POSTER_NAME}</strong></div>      

Du coup, dans le Js, j'ai également changé la première classe en plus de celle que tu m'as donné:

Code:
/* FORUM VERSIONS
        * 0 = PHPBB2
        * 1 = PHPBB3
        * 2 = PUNBB
        * 3 = INVISION
        * 4 = MODERNBB
        * 5 = AWESOMEBB
        */
        $(function() {
          var version = 4;
 
          if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
            document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
            my_setcookie('fa_mention','');
          } if (!/\/t\d+/.test(window.location.pathname)) return;
 
          for (var a = $(['.namePOST strong a', '.postprofile dt strong a', '.username a', '.postprofile dt a ~ a', '.post_pseudo a', '.post-author-name a'][version]), b, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'); i<j; i++) {
            b = document.createElement('A');
            b.title = 'Mention ' + $(a[i]).text();
            b.style.marginRight = '3px';
            b.className = 'fa-mention';
            b.innerHTML = '@';
            b.href = '#';
            b.onclick = function() {
              var n = this.title.replace(/^.*?\s/,'');
    
              if (version == 5) {
                var area = document.getElementById('quick-reply-textarea');
      
                if (area) {
                  area.value += '@"' + n + '" ';
                  area.focus();
                }
      
                return false;
      
              } {
                if ($.sceditor) t.insertText('@"' + n + '" ');
                else {
                  my_setcookie('fa_mention', n);
                  window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
                }
              }
    
              return false;
            };
 
            a[i].parentNode.insertBefore(b, a[i]);
          }
 
          $(function(){
            if (!$.sceditor) return;
            t=$(t).sceditor('instance');
          });
        });



Mais le @ est toujours aux abonnés absents Mad
Kim

Kim


Pronoun(s) : Elle/she
Messages : 159

   
Alors est-ce que tu es sous PhpBB2 ou ModernBB ? Si tu es sous modern (de ce que je comprends), c'est l'avant dernier qu'il faut changer (ici dans ton code faut encore changer .post_pseudo apar .namePOST a ✨
Musea
Invité

Anonymous



   
T'es SO SO AWESOME OMFG  Js Tag utilisateur et champ de profils 1f62d


Merci merci merciiiii  Js Tag utilisateur et champ de profils 1f64c

Kim

Kim


Pronoun(s) : Elle/she
Messages : 159

   
Ravie d'avoir pu aider 🎉
(et aucun souci rien ne pressait!)

Merci à toi ♥♥
Contenu sponsorisé