Header

Partagez | 

[ForumActif] Modifier simplement votre QEEL par extraction

Message Sujet: [ForumActif] Modifier simplement votre QEEL par extraction   Ven 7 Nov - 18:02

avatar

Mes clubs


En savoir plus
Mes clubs extra-scolaires:

no_way

Le codeur sans limite
Bons Points (BP) : 102
Voir le profil de l'utilisateur

Personnaliser le Qeel facilement peu importe la version.


Principe


Bonjour à tous, en principe pour modifier le Qeel vous devez utiliser une expression régulière (plus ou moins complexe) pour remplacer un texte par défaut par votre texte pour petit à petit obtenir le Qeel voulu.
Ce que je vous propose d'installer raisonne de manière inverse et récupère toutes les informations de votre Qeel pour les stocker en variables, que vous pouvez utiliser comme celles de vos templates ce qui vous laisse écrire ce que vous voulez dans votre template "index_body".

Votre Qeel doit être à sa valeur par défaut, si vous l'avez modifié le script risque de ne pas être en mesure de récupérer la totalité des informations contenues par défaut.

Compatible phpbb2/phpbb3/punbb/invision.

Installation


Vous devez être fondateur pour installer ce script.
Suivez les étapes suivantes:
Panneau d'administration->Modules->Gestion des codes javascript->Créer un nouveau JavaScript
Choisissez un titre, cochez pour placement "sur l'index" puis copiez-collez le code suivant:
Code:
jQuery(function () {
/*raccourci*/
var feq=fa_extraction_qeel;
/*Ce code permet de formater tous les éléments disposant de la classe feq*/
$(".feq").each(function(){$(this).html(feq.formater($(this).html()))})
});
Enfin validez.

Panneau d'administration->Affichage->Templates->général->index_body(Modifier)
Remplacer:
Code:
<!-- BEGIN disable_viewonline -->
par:
Code:
<!-- BEGIN disable_viewonline -->
<script type="text/javascript" src="http://plugins.codexo.org/fa_extraction_qeel.js"></script>
<div id="mon-qeel" style="display:none">
Remplacer:
Code:
<!-- END disable_viewonline -->
par:
Code:
</div>
<!-- END disable_viewonline -->
Enregistrer puis publier(Publier).
A cette étape votre Qeel n'est plus visible et c'est tout à fait normal, il vous reste à l'écrire en dehors de la div du code précédent.

Variables



messages

Le nombre de messages postés sur votre forum.

membres_enregistres

Le nombre de membres enregistrés sur votre forum.

dernier_membre

Le dernier membre arrivé sur votre forum

connectes_forum

Le nombre de personnes connectées sur votre forum (enregistrés+invités+invisibles).

enregistres

Le nombre de personnes connectées sur votre forum (enregistrés).

invites

Le nombre de personnes connectées sur votre forum (invités).

invisibles

Le nombre de personnes connectées sur votre forum (invisibles).

record_connectes

Le nombre maximal de personnes connectées sur votre forum

date_record_connectes

Le jour du nombre maximal de personnes connectées sur votre forum

connectes_chatbox

Le nombre de personnes connectées sur la chatbox de votre forum

groupes

Les groupes sur votre forum exemple: administrateur,modérateur,redacteur etc...

membres_connectes

Les membres connectés en ce moment.

derniers_membres_connectes

Les derniers membres à s'être connectés sur votre forum.

membres_anniversaire_aujourdhui

Les membres fêtant leur anniversaire aujourd'hui.

membres_anniversaire_prochains_jours

Les membres fêtant leur anniversaire dans les prochains jours.

membres_chatbox

Les membres actuellement connectés sur la chatbox.


Idea Vous avez également la possibilité d'afficher le nombre d'enregistrements dans les variables en rouge. La syntaxe est la même que celle des variables vertes, il suffit de précéder le nom des variables rouges par:
Code:
nombre_
Exemple :
Code:
@nombre_derniers_membres_connectes@
[/quote]

Syntaxe



Cette partie peut être rebutante car je décris de manière assez détaillée ce qu'il convient de respecter.

Afin que le script ne modifie pas tout et n'importe quoi, il utilise comme délimiteur par défaut (début et fin) le signe @.
Afin que le script puisse isoler les arguments, il utilise un marqueur (par défaut $).

Voici un exemple même si on n'a pas encore vu la syntaxe histoire que vous compreniez à quoi correspond chaque élément:
@messages=message$messages@

Les délimiteurs sont en rouge.
Le marqueur d'argument est en violet.
La variable est en vert.
Les arguments (chaînes de remplacement) sont en bleu.
Le signe = est juste pour vérifier si la variable vaut 1 ou plus.

Nous verrons comment changer ce comportement par défaut en fin de partie si vous avez besoin dans votre Qeel du @ ou du $.

Les variables en vert disposent d'une syntaxe très simple puisqu'il suffit de les entourer du délimiteur.
ex:
Code:
@messages@
Les variables en rouge représentent en réalité un tableau JavaScript contenant LES éléments concernant la variable, le script en plus de retirer les caractères inutiles (les virgules, crochets etc...) vous autorise à définir une chaîne de caractères qui séparera chaque élément, pour cela la syntaxe ressemble à la syntaxe pour les variables en vert, la voici:
Code:
@variable$chaine@

Pour placer une phrase différente selon qu'une variable équivaut à 0 (aucun) ou plus (quelque chose), utilisez la syntaxe suivante:
Code:
@@variable?chaîne si quelque chose$chaîne si aucun@@
Notez donc que les délimiteurs sont doublés.

Pour placer une phrase différente selon qu'une variable équivaut à 1 (singulier) ou plus de 1 (pluriel), utilisez la syntaxe suivante:
Code:
@variable=chaîne au singulier$chaîne au pluriel@

et voici un exemple, imaginons que:
Liam,Miettes et no_way sont sur un bateau connectés sur le forum, ils sont donc enregistrés dans la variable:
Code:
membres_connectes
Si je veux mettre le caractère "&" entre chaque il me suffit d'écrire:
Code:
@membres_connectes$&@
Si je veux mettre un saut de ligne entre chaque il me suffit d'écrire:
Code:
@membres_connectess$<br/>@

On peut faire plus complexe bien entendu ex:
Code:
<div id="conteneur_groupes"><p class="groupe">@groupes$</p><p class="groupe">@</p></div>

Modifier les délimiteurs et le marqueur par défaut:
Si vous n'avez pas besoin d'écrire d'adresse email (car elle contient le @) ou d'utiliser le $, vous pouvez directement passer à la partie "Fonctionnement".

Vous pouvez changer indépendamment le délimiteur que ce soit en début ou en fin exemple:
Code:
feq.D_delim="ok-";feq.F_delim="-ko";
indique que le délimiteur de début est "ok-" et celui de fin est "-ko".
Notez donc que vous pouvez mettre plus d'un caractère Wink.

vous pouvez aussi changer le marqueur, en revanche il est bien moins souple car vous n'avez droit qu'à un seul caractère !
Même principe que pour les délimiteurs:
Code:
feq.A_marqueur="|";
indique que le marqueur d'argument est une barre verticale "|".
Vous pouvez utiliser ces caractères comme délimiteurs ou comme marqueur:


  • * | @ § ^ ° ² sont des caractères qui ne seront pas dans le code html.

Vous ne pouvez pas utiliser les caractères suivants comme délimiteur/marqueur:

  • { et } car votre forum considèrera que vous lui demandez une "variable" PHP, ce qui n'est pas le cas et ne trouvant pas la-dite variable il se contentera de supprimer ce que vous avez mis en accolades.
  • <,>,#,:,(,),",',&,/,= etc... car ce sont des caractères qui sont/peuvent être présents dans le code HTML et qui risquent de faire croire au script que son travail s'arrête au moment où il les rencontre.
  • Le marqueur d'argument ne peut être identique à un délimiteur (logique).

    Cette modification se fait dans le code javascript que vous avez collé précédemment juste après:
    Code:
    var feq=fa_extraction_qeel;
    exemple:
    Code:
    var feq=fa_extraction_qeel;feq.D_delim="ok-";feq.F_delim="-ko";feq.A_marqueur="|";

    Fonctionnement


    Pour utiliser les variables il est primordial qu'elles soient placées dans une balise disposant de la classe "feq"
    Vous pouvez placer ces variables n'importe où dans votre template "index_body" du moment que vous respectez ce point capital.

    Voici un exemple de phrase voulue:
    Citation :

    (Notre brave photographe a pris/Nos X braves photographes ont pris) X photos depuis le début de (son/leur) périple, la dernière équipe ayant immortalisé
    notre association est composée de X photographe(s):
    -X

    Notre expédition la plus longue est de X jours et date du X

    Notez que l'association est composée des groupes: X

    Et voici ce qu'il suffit de taper:
    Code:
    <div class="feq">
    @membres_enregistres?Notre brave photographe a pris$Nos @membres_enregistres@ braves photographes ont pris@ @messages@ photos depuis le début de @membres_enregistres?son$leur@ périple, la dernière équipe ayant immortalisé notre association est composée de @enregistres@ photographe(s)$<p>@membres_connectes$</p><p>@</p>
    <br/>Notre expédition la plus longue est de @record_connectes@ jours et date du @date_record_connectes@
    <br/>Notez que l'association est composée des groupes: @groupes$&@
    </div>

    Voici un exemple de formatage plus complexe:
    Code:
        @@membres_anniversaire_aujourdhui?@membres_anniversaire_aujourdhui=@membres_anniversaire_aujourdhui$&@ fête son anniversaire !$Les membres fêtant leur anniversaire aujourdhui sont:@membres_anniversaire_aujourdhui$&@@$Aucun membre ne fête son anniversaire aujourd'hui !@@
    Analysons ce code:
    @@membres_anniversaire_aujourdhui?@membres_anniversaire_aujourdhui=@membres_anniversaire_aujourdhui$&@ fête son anniversaire !$Les membres fêtant leur anniversaire aujourdhui sont:@membres_anniversaire_aujourdhui$&@@$Aucun membre ne fête son anniversaire aujourd'hui !@@

    En pourpre vous pouvez voir le code qui teste si il y a au moins 1 élément dans la variable membres_anniversaire_aujourdhui.
    En bleu vous pouvez voir le code qui teste si il y a 1 élément ou plus dans la variable membres_anniversaire_aujourdhui.
    En vert vous pouvez voir le code qui génère le contenu selon les tests effectués.

    Le texte de remplacement ne doit contenir ni délimiteur (@ par défaut donc) ni le signe "$" puisqu'ils sont utilisés pour repérer les remplacements à effectuer.

    En espérant que vous aurez compris le fonctionnement, je vous laisse essayer par vous-même.




    Vous rencontrez un souci avec ce tutoriel ? Venez poser votre question [ici].

    Idea N'oubliez pas de lire et de suivre les [règles de la section].



    Je, soussignée, no_way,  accepte/n'accepte pas qu'un directeur reposte le tutoriel "Modifier le Qeel" tel que je l'ai rédigé.
    Revenir en haut Aller en bas

    Message Sujet: Re: [ForumActif] Modifier simplement votre QEEL par extraction   Mar 25 Nov - 13:55

    avatar

    Mes clubs


    En savoir plus
    Mes clubs extra-scolaires:

    Miettes

    Doyenne
    Bons Points (BP) : 233
    Voir le profil de l'utilisateur

    MàJ du 25/11/201



    Petit ajout de no_way :

    -> Ajout d'une variable pour récupérer les membres connectés sur la CB :
    membres_chatbox
    Revenir en haut Aller en bas

    Message Sujet: Re: [ForumActif] Modifier simplement votre QEEL par extraction   Sam 29 Nov - 9:52

    avatar

    Mes clubs


    En savoir plus
    Mes clubs extra-scolaires:

    Miettes

    Doyenne
    Bons Points (BP) : 233
    Voir le profil de l'utilisateur

    MàJ du 29/11/201


    On ne l'arrête plus ^^ No_way vous donne la possibilité d'afficher le nombre d'enregistrements dans les variables en rouge.

    La syntaxe est la même que celle des variables vertes, il suffit de précéder le nom des variables rouges par:
    Code:
    nombre_
    Exemple :
    Code:
    @nombre_derniers_membres_connectes@
    Revenir en haut Aller en bas

    Message Sujet: Re: [ForumActif] Modifier simplement votre QEEL par extraction   Lun 9 Mar - 8:54

    avatar

    Mes clubs


    En savoir plus
    Mes clubs extra-scolaires:

    Miettes

    Doyenne
    Bons Points (BP) : 233
    Voir le profil de l'utilisateur
    MàJ du 09.03.2015


    Hop là Smile

    Une petite note de no_way qui pense à vous et surtout, à ceux pour qui le codage file des boutons ^^

    no_way a écrit:
    Si vous n'êtes pas à l'aise pour créer le code par vous-même, vous pouvez utiliser le formulaire de cette page qui vous fournira du code à copier/coller selon ce que vous lui demanderez d'afficher ; ceci vous permettra sans doute de bien saisir la syntaxe utilisée.


    Le formulaire a été créé pour vous aider et même vous corriger s'il détecte un souci, n'hésitez donc pas à l'utiliser, il vous veut du bien :calin: .
    Revenir en haut Aller en bas

    Message Sujet: Re: [ForumActif] Modifier simplement votre QEEL par extraction   

    Mes clubs

    Contenu sponsorisé

    Revenir en haut Aller en bas
    [ForumActif] Modifier simplement votre QEEL par extraction
    Page 1 sur 1
     Sujets similaires
    -
    » Fêtez la fin d'année avec Forumactif et gagnez votre nom de domaine personnalisé!
    » Code CSS pour modifier la bannière
    » modifier la légende des statuts des messages
    » Modifier les champs d'inscription
    » Modifier la police d'une catégorie
    Réponse rapide

    School of Progress :: La bibliothèque :: Tutoriels :: Informatique :: Codage+

    Qui est en ligne ?

    SoP en quelques chiffres

    Nos étudiants ont posté un total de @messages@ messages.

    Nous avons @membres_enregistres@ étudiants inscrits dans l’école.

    Le dernier dossier validé est celui de @dernier_membre@.

    @@membres_anniversaire_aujourdhui?@membres_anniversaire_aujourdhui=Il/Elle fête son anniversaire aujourd'hui : @membres_anniversaire_aujourdhui$&@$Ils fêtent leur anniversaire aujourd'hui : @membres_anniversaire_aujourdhui$, @@$Aucun membre ne fête son anniversaire aujourd'hui. @@

    Ils étaient là hier

    @derniers_membres_connectes$, @

    Liste de présence

    @membres_connectes$, @

    La DirectionLes AssistantsLes SurveillantsLes ArtistesLes InspecteursLes PitresLes IntervenantsLes Doyens