La date/heure actuelle est Dim 19 Mai 2024 - 3:53

3 résultats trouvés pour field_id2

Le code de mon profil ne veut plus marcher

Bonjour !

Pour l'afficher pour tout le monde, c'est le point 1 du tuto (le petit 2 sur l'image) : https://forum.forumactif.com/t220576-creer-une-feuille-de-personnage

Je viens de voir autre chose sur ce script :
Code:
jQuery(document).ready(function () {
  jQuery('#field_id2').appendTo('.corporations-profil');
  jQuery('#field_id1').appendTo('.champ1-image');
  jQuery('#field_id3').appendTo('.citation-personnage');
  jQuery('#field_id4').appendTo('.liens-personnage');
});


Il sélectionne des id pour les repositionner à d'autres endroits ; le problème, c'est que les id ne sont pas les mêmes sur le forum test et sur le vrai forum. Tout dépend de l'ordre dans lequel ils ont été créés dans le panneau d'administration. En tout cas, actuellement :
- corporation, ça doit être l'id #field_id16 (à la place de #field_id2)
- image, ça doit correspondre à l'id #field_id9 (à la place de #field_id1)
- la citation, c'est l'id #field_id14 (à la place de #field_id3)
- lien personnage, je ne sais pas exactement quel champ ce devrait être, peut-être lien importants, l'id #field_id15 (à la place de #field_id4)
par Toryudo
le Lun 4 Déc 2023 - 9:24
 
Rechercher dans: Archives des problèmes avec un code
Sujet: Le code de mon profil ne veut plus marcher
Réponses: 4
Vues: 313

Le profil d'un membre ne charge pas

J'ai créé un compte sur le forum pour constater directement le problème, c'est beaucoup plus simple et rapide comme ça.
Le problème vient de ce script :
Code:
if (/^\/u\d+$/.test(document.location.pathname)) {
    var idPage = "1";
    $.get("/h" + idPage + "-", function(data) {
        var $badges = $(data).filter("#badges-profil");
        $(function() {
            var $profilBadges = $("span:contains('Badges obtenus')").closest("tr");
            if ($profilBadges.length > 0) {
                var badgesUser = $profilBadges.find(".field_uneditable").text().split(";");
                if (badgesUser.length > 0) {
                    for (var i = 0, l = badgesUser.length; i < l; i++) {
                        if (badgesUser[i].length > 0) {
                            try {
                                $badges.find("." + badgesUser[i].trim()).addClass("obtenu")
                            } catch (e) {
                                console.log("Système de badge erreur => " + e)
                            }
                        }
                    }
                }
            }
            $(".js-badges-profil").html($badges)
        })
    })
}


Il y a quelque chose qui ne va pas dans la sélection, le code $profilBadges.find(".field_uneditable").text() sélectionne plus d'éléments qu'il ne le faudrait. Pour l'exemple du user 42, nous obtenons cette chaine de caractères :
25/12/2021222150Not Your eXNow you're just somebody I used to knowKarkat Vantas de HomestuckLa plaineChanteureuse / AventurièreAppareil photo vintage + un walkman [Cassettes: Bruits de baleines / Vulgaires machins / l'OST de Final fantasy VI] + un lampion portatif + un kit pour lampion + une pierre à feuYES PLEASE; bienvenue ; recensement ; picotis ; fiche_liens ; habitation ;


On découpe la chaine à chaque caractère ; rencontré, et badgesUser[0] devient donc égal à cette première partie de chaine qui n'est pas un badge. Ça, c'est commun à tous les membres, badgesUser[0] est toujours une chaine de caractère résultant d'une mauvaise sélection. Si c'est ce membre qui fait planter ce script plutôt qu'un autre, ça semble être dû aux caractères spéciaux utilisés dans sa description, parmi [ : / ' ]... je ne saurais pas exactement dire lequel, ou si c'est la combinaison de plusieurs, mais en tout cas, c'est à cause de ça.

Ce qu'on veut sélectionner, nous, c'est juste le .field_uneditable qui contient la liste de badges séparés par des ;. Après vérification dans le code HTML de votre page, il se trouve dans #field_id2. On va donc juste modifier
Code:
var badgesUser = $profilBadges.find(".field_uneditable").text().split(";");

en
Code:
var badgesUser = $profilBadges.find("#field_id2 .field_uneditable").text().split(";");


Ce qui nous permettra d'être plus précis dans la sélection, de ne prendre que la liste des badges et de corriger l'erreur par la même occasion !
par Toryudo
le Dim 9 Jan 2022 - 18:53
 
Rechercher dans: Archives des problèmes avec un code
Sujet: Le profil d'un membre ne charge pas
Réponses: 4
Vues: 762

Récupération de liens rentrés dans le profil personnalisé

A quel élément correspond le champ "Lien répertoire équin" dans votre script (#field_id1, #field_id2 ...) ?

A mon avis il serait plus simple d'indiquer simplement le lien (http://equinies.forumactif.com/t2-sujet-1#23) dans le champ, et d'en faire un lien cliquable dans le script.

Cordialement,
Walt
par Walt
le Dim 12 Aoû 2018 - 19:43
 
Rechercher dans: Archives des problèmes avec un code
Sujet: Récupération de liens rentrés dans le profil personnalisé
Réponses: 48
Vues: 2387

Revenir en haut

Sauter vers: