Préfixes de sujet en Javascript

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

Résolu Préfixes de sujet en Javascript

Message par Shadow_shd Jeu 26 Oct 2017 - 11:49

Détails techniques


Version du forum : phpBB2
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox, Safari
Personnes concernées par le problème : Moi uniquement
Lien du forum : http://www.pincabpassion.net

Description du problème

Bonjour,

Je me suis inspiré du code Javascript de ce sujet pour ajouter un menu déroulant "Balise", afin que nos membres oublient moins souvent de mettre une balise [EN COURS] aux titres de leurs sujets.

La première partie du code concernant la création d'un nouveau sujet fonctionne parfaitement bien et nous en sommes ravis.

Première observation : le code JS ne s'applique que s'il est activé sur toutes les pages dans le panneau admin; si je l'active sur les sous-forums et les sujets il est inopérant, est-ce normal ?

À toute fin utile j'ai demandé au fondateur du forum de vérifier que le template overall_header soit bien modifié par ajout du code {HOSTING_JS}, j'attends sa réponse.

Là où je bute de par mes piètres connaissances en JS, c'est sur la partie édition d'un sujet : en effet le menu déroulant s'affiche quelque soit le message édité, or nous voudrions qu'il ne s'affiche que sur le premier message du sujet dans un but de modération (par exemple pour passer le sujet en Résolu si l'auteur du sujet oublie de le faire).

De plus et si possible nous aimerions pouvoir "filtrer" les intitulés des balises du menu déroulant selon le sous-forum dans lequel on se trouve.

Pour être plus clair, dans la partie du code concernant la création d'un nouveau sujet nous pouvons établir une liste de préfixes en fonction du numéro du sous-forum :

Code:
var tags = {
    50: ["[FLIPPER PERSONNEL]", "[RESTAURATION EN COURS]", "[RESTAURATION TERMINÉE]"],
    93: ["[CENTRALISATION]", "[INFO]", "[ARCHIVÉ]"],
    106: ["[EN COURS]", "[RÉSOLU]", "[WIP]", "[TERMINÉ]", "[ABANDONNÉ]", "[ARCHIVÉ]", "[INFO]"],
};

Est-il possible, dans la partie du code concernant l'édition d'un message (dont le code est var tags = ["Présentation de", "[FLIPPER PERSONNEL]", "[RESTAURATION EN COURS]", "[RESTAURATION TERMINÉE]", "[EN COURS]", "[RÉSOLU]", "[WIP]", "[TERMINÉ]", "[ABANDONNÉ]", "[ARCHIVÉ]", "[INFO]"];), de créer une liste "personnalisée" en fonction du numéro de forum, comme dans la partie Création d'un nouveau sujet ?

Mes différents essais ont jusqu'à présent aboutis à des échecs ou des résultats non souhaités (disparition du panneau des smileys par exemple).

Pour résumer : pouvoir éditer le premier message d'un sujet et uniquement le premier et utiliser le menu déroulant pour remplacer le préfixe parmi une liste personnalisée.

Merci pour toute aide que vous pourrez m'apporter Wink


Dernière édition par Shadow_shd le Jeu 9 Nov 2017 - 14:59, édité 1 fois
Shadow_shd

Shadow_shd
Nouveau membre

Masculin
Messages : 8
Inscrit(e) le : 15/08/2017

http://www.pincabpassion.net
Shadow_shd a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Préfixes de sujet en Javascript

Message par Shadow_shd Ven 27 Oct 2017 - 19:42

Bonsoir,

J'ai trouvé un élément de réponse quand à l'affichage du menu déroulant sur le premier message d'un sujet et non sur les suivants :

Code:
 if ($('form[method="post"] input[name="description"]').is(':visible')) {
    var tags = ["Présentation de", "[FLIPPER PERSONNEL]", "[RESTAURATION EN COURS]", "[RESTAURATION TERMINÉE]", "[EN COURS]", "[RÉSOLU]", "[WIP]", "[TERMINÉ]", "[ABANDONNÉ]", "[ARCHIVÉ]", "[INFO]"];

J'ai ajouté la première ligne du quote ci-dessus, ligne qui me permet de savoir si le champ Description existe et auquel cas de poursuivre l'exécution du code.

Le champ Description n'existant que sur les premiers messages des sujets, cela résout (sans doute peu proprement vu mes faibles connaissances en JS Smile ) une partie de notre problème.

Ne reste plus qu'à pouvoir afficher une liste personnalisée selon le sous-forum et le but sera atteint Wink

Merci
Shadow_shd

Shadow_shd
Nouveau membre

Masculin
Messages : 8
Inscrit(e) le : 15/08/2017

http://www.pincabpassion.net
Shadow_shd a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Préfixes de sujet en Javascript

Message par Shadow_shd Jeu 2 Nov 2017 - 16:52

Bonjour,

Un p'tit up Smile

Nous avons mis en place le script d'Ea sur notre forum et tout fonctionne bien, mais pas forcément que nous le souhaiterions au niveau édition des sujets.

3 petites questions :

1. Je trouve que le code que j'ai ajouté pour vérifier si on est dans le premier message d'un sujet [ if ($('form[method="post"] input[name="description"]').is(':visible')) ] n'est pas très conventionnel.

Quel est donc le code, s'il existe, que je pourrais utiliser pour remplir cette fonction ?
Un genre de [ if ($('post') == "first") ?


2. Existe t'il un code qui permet d'identifier le sous-forum dans lequel on se trouve en édition de sujet ?
En mode création d'un nouveau sujet l'ID du sous-forum apparait dans l'URL et c'est grâce à cette information que l'on peut personnaliser la liste des préfixes, mais en mode édition l'ID n'apparait pas.

Le but serait de pouvoir personnaliser la liste des préfixes en fonction des sous-forums en mode édition de sujet.


3. Accessoirement est-il possible d'avoir 2 menus déroulants à côté du champ Titre du sujet ?
Le but : dans notre section Petites Annonces pour les dons, échanges et recherches pourvoir mettre deux préfixes : [DONNE] / [RECHERCHE] / [ÉCHANGE] suivi du numéro de département.

Merci de m'avoir lu.
Shadow_shd

Shadow_shd
Nouveau membre

Masculin
Messages : 8
Inscrit(e) le : 15/08/2017

http://www.pincabpassion.net
Shadow_shd a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Préfixes de sujet en Javascript

Message par Shadow_shd Jeu 9 Nov 2017 - 10:33

Bonjour,

Petit up Smile

Si je pouvais juste avoir le code JS correct pour tester que l'on est sur le premier message d'un sujet ça serait un grand pas en avant pour moi Very Happy

Pour les autres questions je les reposerai dans des sujets dédiés plus tard.

Merci Wink


Edit 15:00

J'ai finalement trouvé quelque chose de plus "propre" :

Code:
if ($('span.gen:contains("Titre du sujet")').length > 0) {

Le premier message d'un sujet comporte forcément le texte "Titre du sujet" dans le code HTML Smile

Je passe donc le sujet en Résolu Wink


Dernière édition par Shadow_shd le Jeu 9 Nov 2017 - 14:59, édité 1 fois (Raison : mise à jour)
Shadow_shd

Shadow_shd
Nouveau membre

Masculin
Messages : 8
Inscrit(e) le : 15/08/2017

http://www.pincabpassion.net
Shadow_shd a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum