AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.

Le Deal du moment : -30%
LEGO Icons 10318 – Le Concorde à ...
Voir le deal
139.99 €

    Appliquer un Javascript sur une sélection de pages d'un forum

    potion
    potion
    FémininAge : 37Messages : 33

    Ven 29 Jan 2016 - 8:27

    Bonjour tout le monde :)

    Je viens vous demander de l'aide car je suis perdue. J'ai un javascript donné par forumactif (ci dessous) qui me permet d'interdire des posts en dessous de 600 caractères (minimum demandé sur mon forum RPG).

    Seulement, mon soucis, c'est qu'il s'applique sur tout le forum et aussi sur les zones non rp comme par exemple la signature du règlement....
    Je souhaiterai donc, définir les pages où le script doit s'appliquer.
    Pouvez vous m'aider ?

    Merci.

    Code:
       $(function(){
           $('form[name="post"] input[value="Envoyer"]').click(function(){
              var i = $('#text_editor_textarea').sceditor('instance').val().length;
              if(i < 400){
                 if($('.error').length == 0) $('<div class="error">Vous avez écrit moins de 400 caractères, veuillez écrire un peu plus !</div>').prependTo($('.sceditor-container').parent()).delay(3000).fadeOut();
                 else $('.error').fadeIn().delay(3000).fadeOut();
                 return false;
              }
           });
        })


    Dernière édition par potion le Dim 31 Jan 2016 - 18:54, édité 4 fois
    valtena_ethan
    valtena_ethan
    MasculinAge : 33Messages : 473

    Ven 29 Jan 2016 - 15:23

    A ma connaissance, la granularité de forum actif ne te permet pas d'appliqué bêtement ce script a certains sous-forums uniquement. Par contre tu peux te servir de ton fil d'ariane pour savoir dans quel sous forum tu es.

    Donc la modification que je te propose d'effectuer :
    Code:

    //créer un tableau associatif avec tout tes forums et un booléan a vrai si le script est actif pour celui là
    var cat = {
      sousForun1: true,
      sousForum2: false,
      sousForum2: true
    }

    //une fonction pour aller chercher le nom du forum dans ton fils
    function getSousForum(){
     //je te laisse cette partie. la fonction dépend de ton template
    }

     $(function(){
       //un if pour cantonner au bon sous forum
       if( cat[getSousForum()])
          $('form[name="post"] input[value="Envoyer"]').click(function(){
              var i = $('#text_editor_textarea').sceditor('instance').val().length;
              if(i < 400){
                if($('.error').length == 0) $('<div class="error">Vous avez écrit moins de 400 caractères, veuillez écrire un peu plus !</div>').prependTo($('.sceditor-container').parent()).delay(3000).fadeOut();
                else $('.error').fadeIn().delay(3000).fadeOut();
                return false;
              }
          });

    potion
    potion
    FémininAge : 37Messages : 33

    Ven 29 Jan 2016 - 15:32

    Ok merci :)

    par contre tu as affaire à une plus que novice... donc je comprend pas ce qu'il faut faire... désolée.

    pourrais tu me faire comme un tutoriel ?
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Ven 29 Jan 2016 - 18:28

    Coucou Potion,

    Je me tape l'incrustation temporairement, en fait, la méthode qu'explique Valtena est un peu similaire "dans le concept" à celle ci : Afficher la zone Lancés de dés dans une catégorie précise.
    On affiche le lancé de dé que dans certains sous forums. Dans ton cas, tu veux mettre la vérification des lettres que sur certains sous forums, l'idée se ressemble. :)

    Si tu ne t'y connais pas trop en javascript et que tu attends qu'on te fasse un code, le sujet sera peut-être déplacé par un responsable dans la section des demandes de Libre Service. ^^

    As-tu modifié ton template posting_body ? Si oui, est ce qu'on peut l'avoir ?

    potion
    potion
    FémininAge : 37Messages : 33

    Ven 29 Jan 2016 - 18:38

    Hello ! :)

    Oui c'est tout à fait ça que je voudrais.
    Je n'ai rien mis en place, rien modifié, rien fait, et pour tout avouer je n'y connais absolument rien en code. Donc il faudrait comme tu le propose déplacer le sujet pour qu'une gentille âme me fasse le code que j'appliquerai (avec les liens de mes forums, si c'est bien expliqué j'y arriverai ^^)

    merci à tous !
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Sam 30 Jan 2016 - 17:26

    Du coup j'ai une petite question, pour vérifier un truc pour la création du code, est ce que tu peux me donner le lien du forum et me dire dans quelles sections / catégories tu voudrais que le code de vérification du nombre de caractères soit actif s'il te plait <3 ?

    Si par exemple tous les RP sont dans une seule catégorie, il suffira de cette catégorie là :)

    Fortuna
    Fortuna
    FémininAge : 31Messages : 4636

    Sam 30 Jan 2016 - 17:36

    Je déplace dans les demandes de LS (Autre) Wink

    Ce serait cool que tu édites ton premier post en conséquence avec le formulaire de la section & ta demande précise Wink




    potion
    potion
    FémininAge : 37Messages : 33

    Sam 30 Jan 2016 - 18:41

    Nihil voilà le lien de mon forum : http://poudlard-le-rpg.forumactif.org/

    Il faudrait que le code s'applique sur les catégories suivantes : Londres, Poudlard, Ailleurs dans le monde.

    Par contre pour pouvoir voir ses catégories, je pense qu'il te faudra créer un compte.
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Sam 30 Jan 2016 - 18:57

    Merci pour le lien !

    Voici un premier essai de code. Il faut penser à retirer l'ancien code javascript (celui que tu as mis tout en haut) s'il était encore sur le forum (pour éviter tout conflit).

    PA > Modules > Html & Javascript
    On crée un nouveau javascript activé sur toutes les pages avec un nom clair et on met dedans :



    Si le code ne fonctionne pas, pense à le laisser en place sur le forum (à part s'il cause un bug bien évidemment).

    potion
    potion
    FémininAge : 37Messages : 33

    Sam 30 Jan 2016 - 19:06

    Ça marche impeccable !!!!!
    Mille merci !! vraiment du fond du cœur !!


    J'aurais du coup une petite question en plus à laquelle je n'ai pas pensé : serait-il de mettre une exception à la règle pour le Maître du jeu ?
    Car si nous intervenons pour donner des péripéties, avec ce compte, nous risquons d'être bloqués.

    Désolé, ça m'est venu que maintenant... Embarassed
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Sam 30 Jan 2016 - 19:21

    Oui, pas de soucis <3

    On remplace tout le code par ceci :


    Alors, le compte de la personne concernée se change ici :
    Code:
    if (document.location.pathname === "/post" && _userdata.user_id !== 1) {

    Ici j'ai mis 1 car c'est le numéro du compte du maitre du jeu. Le numéro du compte d'une personne se trouve sur son profil.
    Par exemple sur Never Utopia, ta page de profil est celle ci https://www.never-utopia.com/u20698 donc ton numéro de compte est 20698.

    Dis moi si ça fonctionne bien <3

    potion
    potion
    FémininAge : 37Messages : 33

    Sam 30 Jan 2016 - 19:54

    Un immense merci ! <3 vraiment génial !!! C'est topissime !!!! Merci !!!
    Onyx
    Onyx
    FémininAge : 30Messages : 3350

    Dim 31 Jan 2016 - 0:10

    Salut!

    Si c'est bon, n'oublie pas le bouton "terminé" Potion Wink



    potion
    potion
    FémininAge : 37Messages : 33

    Dim 31 Jan 2016 - 9:49

    Rholalala ce que j'ai honte ! J'ai encore quelque chose à demander Embarassed

    Je voudrais mettre une exception pour un forum dans une catégorie : Le panneau d'affichage...

    J'ai essayé de reproduire le même schéma
    Code:
      "/c10-londres",
                "/c4-poudlard",
                "/c8-ailleurs-dans-le-monde"
    Mais ça enlève la restriction sur tout le forum, et enlève la couleur automatique du texte qui passe de dorée à noire (le fond du forum est noir).

    Je suis vraiment désolée
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Dim 31 Jan 2016 - 15:42

    Pas de soucis ! En fait il doit y avoir une erreur dans le code quand tu as modifié, et du coup ça fait "casser" tous les autres codes que Forumactif a mis sur le même fichié. T'inquiète pas, on va voir ça !

    Est ce que tu me copier / coller tout le code que ça donnait après la modification <3 ?

    J'ai essayé d'expliquer comment faire ici à la section "Rajouter les lien des catégories autorisées", mais n'hésite pas à me le dire si tu as un doute, quelque chose que tu ne comprends pas ! Very Happy

    potion
    potion
    FémininAge : 37Messages : 33

    Dim 31 Jan 2016 - 18:04

    voilà le code que ça me donne après ma modification :

    Code:
           $(function () {
                if (document.location.pathname === "/post" && _userdata.user_id !== 1) {

                    /* url des parties autorisées
                    * MODIFIER ICI
                    * url des parties autorisées */
                    var exceptions = [
                        "/c10-londres",
                        "/c4-poudlard",
                        "/c8-ailleurs-dans-le-monde"
                        "/f33-panneau-d-affichage"
                    ];
                  
                    $("a.nav").each(function () {
                        if (exceptions.indexOf($(this).attr("href")) > -1) {
                            $('form[name="post"] input[value="Envoyer"]').click(function(){
                              var i = $('#text_editor_textarea').sceditor('instance').val().length;
                              if(i < 400){
                                if($('.error').length == 0) $('<div class="error">Vous avez écrit moins de 400 caractères, veuillez écrire un peu plus !</div>').prependTo($('.sceditor-container').parent()).delay(3000).fadeOut();
                                else $('.error').fadeIn().delay(3000).fadeOut();
                                return false;
                              }
                            });
                            return false;
                        }
                    });
                }
            });
    Nihil Scar Winspeare
    Nihil Scar Winspeare
    Messages : 5244

    Dim 31 Jan 2016 - 18:13

    Alors c'est une toute petite erreur, il manque une virgule !

    Ici
    Code:
                    var exceptions = [
                        "/c10-londres",
                        "/c4-poudlard",
                        "/c8-ailleurs-dans-le-monde"
                        "/f33-panneau-d-affichage"
                    ];

    Il faut remplacer comme ça :
    Code:
                    var exceptions = [
                        "/c10-londres",
                        "/c4-poudlard",
                        "/c8-ailleurs-dans-le-monde",
                        "/f33-panneau-d-affichage"
                    ];

    J'ai rajouté une virgule ici (à la fin)
    Code:
    "/c8-ailleurs-dans-le-monde",

    potion
    potion
    FémininAge : 37Messages : 33

    Dim 31 Jan 2016 - 18:54

    Bon ben encore une fois merci mille fois. J'ai réussi à comprendre et à appliquer. T'es vraiment génial de m'avoir aidée aussi vite en plus.

    MERCI <3
    Contenu sponsorisé


      La date/heure actuelle est Ven 22 Nov 2024 - 12:42