Persona est un plugin pour les sujets de gestion de personnage (fiche de présentation, fiche de lien, scénarios, …). Il remplace les codes de mise en page à copier/coller dans un sujet par un formulaire à la création et à l’édition d’un sujet.
Parce qu’un exemple est toujours plus parlant, une démonstration d’un Persona de fiche de présentation est accessible à tous (sans compte).
Le plugin rend la création et l’édition des sujets de gestion de personnage plus ludiques et plus simples.
Les membres n’ont plus besoin de manipuler du code HTML et de plisser les yeux pour savoir où écrire leurs informations. C’est donc plus accessible et ça limite les accidents de mise en page.
Seul le staff peut créer et modifier le code de mise en page. C’est idéal pour faire des mises en page plus poussées (avec onglets, par exemple) sans craindre de générer trop de code pour les membres.
Le code de mise en page peut-être édité sans avoir à éditer les sujets.
Les craintes
L’installation du plugin peut être intimidante la première fois.
Les rôlistes sont des créatures d’habitude et le plugin apporte des nouvelles fonctionnalités, cela demandera un temps d’adaptation pour chacun.
Les adeptes des mises en page personnalisées auront un peu moins de liberté, mais il est toujours possible de mettre du texte en gras, italique, avec de la couleur ou d’intégrer des images.
Kim
Intermédiaire
Javascript, HTML et CSS
Oui
Ce plugin est une idée de Tamaraa qui souhaitait reprendre un concept existant et l'intégrer au Blank Theme. De nombreux membres du serveur La Piscine ont suivi sa réalisation en échangeant des idées et des solutions. Poumon a été d'une précieuse aide pour certaine fonctionnalités et du debug. Sixtine a réalisé une première maquette de l'interface du formulaire. 'Christa Lostmindy a corrigé la documentation et elle a été une source première d'encouragement.
Cette partie indique où placer les différents codes du plugin pour une mise en place simple et rapide. Par défaut l’installation est celle d’un Persona pour d’une fiche de présentation.
La suite du tutoriel explique plus en détails son fonctionnement et comment le modifier.
1- Importer le plugin
Dans le template général/overall_footer_end, copiez/collez la ligne de code suivante avant la balise </body> tout en bas du template.
Le formulaire contient les champs dans lesquels les membres renseigneront leurs informations. C’est ce qui remplace le code de mise en page à copier/coller dans un sujet.
Il s’intègre dans le template poster & messages privés/posting_body
<fieldset> <legend>Identité</legend> <div class="field"> <label>Titre de la fiche</label> <div class="description">Veillez à ce qu'il ne soit pas trop long</div> <textarea name="titrefiche" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Citation</label> <div class="description">Citation sous le titre</div> <textarea name="titreCitation" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Prénom(s), nom</label> <div class="description">Description for the input</div> <textarea name="prenomNom" placeholder="écrire ici"></textarea> </div>
<div class="field"> <label>Titre de la section</label> <div class="description">Veillez à ce qu'il ne soit pas trop long</div> <textarea name="sectionAnecdote" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Citation</label> <div class="description">Citation sous le titre de section</div> <textarea name="sectionCitation" placeholder="Écrire ici"></textarea> </div>
<template data-name="anecdote"> <!-- Bloc de champs qui peut être multiplié -->
<div class="field"> <label>Anecdote</label> <input type="text" name="titreAnecdote" placeholder="Nom de l'anecdote" /> <textarea name="textAnecdote" placeholder="Description de l'anecdote"></textarea> </div> <!-- --> </template>
<fieldset> <legend>Identité</legend> <div class="field"> <label>Titre de la fiche</label> <div class="description">Veillez à ce qu'il ne soit pas trop long</div> <textarea name="titrefiche" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Citation</label> <div class="description">Citation sous le titre</div> <textarea name="titreCitation" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Prénom(s), nom</label> <div class="description">Description for the input</div> <textarea name="prenomNom" placeholder="écrire ici"></textarea> </div>
<div class="field"> <label>Titre de la section</label> <div class="description">Veillez à ce qu'il ne soit pas trop long</div> <textarea name="sectionAnecdote" placeholder="Écrire ici"></textarea> </div>
<div class="field"> <label>Citation</label> <div class="description">Citation sous le titre de section</div> <textarea name="sectionCitation" placeholder="Écrire ici"></textarea> </div>
<template data-name="anecdote"> <!-- Bloc de champs qui peut être multiplié -->
<div class="field"> <label>Anecdote</label> <input type="text" name="titreAnecdote" placeholder="Nom de l'anecdote" /> <textarea name="textAnecdote" placeholder="Description de l'anecdote"></textarea> </div> <!-- --> </template>
/* Personalise le choix quand il est checké */ input[type="radio"]:checked + label.choice { border: 1px solid var(--accentClr); color: var(--accentClr); }
/* -- Apparence de la barre d'option en bas du formulaire --*/ /* Cette partie peut très bien être mise dans le template directement ou avant la balise </head> /* Ca permettra de libérer de la place dans votre CSS */ .persona-toolbar { border-radius: 5px; background-color: var(--neutralDark); position: relative; padding: 5px; }
Il est recommandé d’intégrer le formulaire entre la description du sujet et la boîte de smileys Voir en image
3- Initialiser le plugin
L’initialisation du plugin sert à activer le Persona sur votre forum. En même temps, vous allez le paramétrer pour qu’il gère les fiches de présentation dans une catégorie choisie.
Créez une nouvelle page javascript (tutoriel : installer du javascript) en cochant l’activation sur toutes les pages et copiez/collez le code suivant :
Code:
// PERSONA D'UNE FICHE DE PRESENTATION // A cocher : sur toutes les pages
document.addEventListener("DOMContentLoaded", () => { new Persona({ category: [8], // Numéro de la catégorie name: "fiche", // Nom du Persona // Autre paramètres ici, séparé par une virgule // personaHTML: function (data) { // Début des données du formulaire
const { // Liste des noms des champs titrefiche, titreCitation, prenomNom, naissanceAge, genrePronoms, occupation, groupe, typePersonnage, sectionAnecdote, sectionCitation, urlAvatar, creditAvatar, irlPseudo, irlAge, fuseauHoraire, avis, // } = data;
// Liste de toutes les anecdotes const anecdotesList = data.anecdote.map(({ // Liste des noms des champs d'une anecdote titreAnecdote, textAnecdote, // }) => ` <!-- Mise en page d'une anecdote -->
<label>Aimez-vous ce plugin ?</label> ${avis} </div> </div>
<!-- Fin du code de la mise en page --> `; return html; }, }); });
Associer une catégorie
Indiquez le numéro de la catégorie des fiches de présentation entre les crochets category: [3] ou category: [3, 11, 17] pour associer plusieurs catégories.
Ouvrez la catégorie dans votre navigateur pour retrouver son numéro dans l’adresse URL. Exemple : votrerpg.forumactif.com/f3-fiche-de-presentation le numéro de la catégorie est 3
Mise en page de la fiche
Le code HTML de la mise en page de la fiche de présentation se trouve déjà dans le code que vous venez d’installer. C’est le seul endroit où il doit être placé. Vous apprendrez dans les étapes suivantes à le personnaliser.
Vous trouverez ci-dessous le CSS facultatif pour la fiche de présentation par défaut.
Code:
/* Créer une petite animation de chargement avant que le Persona apparaisse */ .persona:not(.loaded) { --gradient: var(--neutralDarker);
Vous n’utilisez pas le Blank Theme ou vous avez modifié le template posting_body
Explications Des paramètres supplémentaires seront sûrement nécessaires pour le bon fonctionnement du plugin.
Code:
// PERSONA D'UNE FICHE DE PRESENTATION // A cocher : sur toutes les pages
document.addEventListener("DOMContentLoaded", () => { new Persona({ category: [8], // Numéro de la catégorie name: "fiche", // Nom du Persona pageTitleElement: ['.class', '.class'], // Sélecteur des titres de la page du formulaire textEditorContainer: '.texteditor-container', // Sélecteur du container de l'éditeur de texte // Autre paramètres ici, séparé par une virgule // personaHTML: function (data) { // Début des données du formulaire
const { // Liste des noms des champs titrefiche, titreCitation, prenomNom, naissanceAge, genrePronoms, occupation, groupe, typePersonnage, sectionAnecdote, sectionCitation, urlAvatar, creditAvatar, irlPseudo, irlAge, fuseauHoraire, avis, // } = data;
// Liste de toutes les anecdotes const anecdotesList = data.anecdote.map(({ // Liste des noms des champs d'une anecdote titreAnecdote, textAnecdote, // }) => ` <!-- Mise en page d'une anecdote -->
<label>Crédit de l'avatar</label> ${creditAvatar} <label>Aimez-vous ce plugin ?</label> ${avis} </div> </div>
<!-- Fin du code de la mise en page --> `; return html; }, }); });
pageTitleElement ce paramètre attend le sélecteur des titres de la page. Vous pouvez récupérer ces sélecteurs en faisant clic droit > inspecter l’élément sur les titres.
Exemple: si le titre principal se construit ainsi <div class="big-title">{POST}</div> alors le paramètre sera pageTitleElement: ['.big-title']
textEditorContainer ce paramètre attend le sélecteur de l’élément qui contient la boîte de smiley ainsi que l’éditeur de texte. Créez-en un dans votre template si ce n’est pas déjà fait et renseignez la class dans le paramètre.
Exemple: <div class="container-texteditor">{SMILEYS} {TEXTEDITOR}</div> alors le paramètre sera textEditorContainer: '.container-texteditor'
Avant de se lancer dans la personnalisation, faisons un petit point vocabulaire pour comprendre les explications à venir.
mise en page : code de présentation d’une fiche (de présentation, lien, scénario, …).
formulaire : l’interface de champs qui apparait à la création où à l’édition d’un sujet.
champs : visuellement, c’est le rectangle dans lequel l’utilisateur peut écrire des informations.
donnée : une information écrite et enregistrée dans un champ.
input : en code, c’est la balise HTML qui permet de créer des champs.
attribut : dans une balise HTML, ce sont des informations supplémentaires qui définissent un fonctionnement.
Exemple: class="" ou name="" sont des attributs, l’un permet de styliser un élément, l’autre permet de lui donner un nom.
Editer le formulaire
Pour éditer le formulaire du Persona intégré lors de l’installation, il faut se rendre dans le template poster & messages privés/posting_body
Cette section va survoler l’essentiel du fonctionnement d’un formulaire. La section construire son formulaire permet d’aller encore plus loin dans la personnalisation.
Le formulaire
Un formulaire est contenu dans une balise qui prend impérativement cette forme :
class="personaForm" - permet de styliser le formulaire avec la class .personaForm
data-persona-name="fiche" (OBLIGATOIRE) - définit le nom du Persona. Ici le nom "fiche" permet de lier ce formulaire au Persona des fiches de présentation. Si vous voulez le modifier, n’utilisez pas d’espace ou de caractères spéciaux.
Les champs
En HTML, un champ se construit avec des balises HTML bien précises, comme la balise <input>
Par exemple, voici le HTML du champ qui attend l’âge du personnage :
Code:
<input type="text" name="age" />
type="text" Il s’agit du type d’input. Le type text crée un champ dans lequel on peut mettre du texte. C’est le plus commun mais il en existe plein d’autres, détaillés dans la section construire son formulaire
name="age" (OBLIGATOIRE) Il s’agit de l’identifiant de l’input. Cet identifiant est très important car c’est avec lui que vous allez retrouver la donnée enregistrée par l’utilisateur.
Impératifs :
Chaque input doit avoir un identifiant unique.
Utilisez des identifiants clairs et précis.
N’utilisez pas d’espace ou de caractères spéciaux.
Les champs duplicables
Les champs duplicables sont des champs que l’on peut ajouter autant de fois que l’on veut dans le formulaire. Par exemple, dans l’installation par défaut du Persona, il y a la possibilité d’ajouter plusieurs anecdotes (voir gif ci-dessus).
Le bloc HTML pour réaliser des champs duplicables se présente ainsi :
Code:
<template data-name="anecdote"> <!-- Contenu duplicable --> <div class="field"> <label>Anecdote</label> <input type="text" name="titreAnecdote" placeholder="Nom de l'anecdote"/> <textarea name="anecdote" placeholder="Écrire ici une anecdote"></textarea> </div> <!-- Fin du contenu duplicable --> </template>
<div data-container-name="anecdote"> <!-- Les blocs créés s'afficheront ici --> </div>
<!-- Bouton pour ajouter un champ --> <button class="addField" name="anecdote"><i class='ion-ios-plus-empty'></i> Ajouter une anecdocte</button>
Ce bloc se compose de trois éléments importants auxquels il faut donner le même identifiant afin qu’ils interagissent ensemble. Dans l’exemple, ils portent tous le nom "anecdotes" :
<template data-name="anecdote"> contient le modèle du contenu duplicable
<div data-container-name="anecdote"> reçoit les champs dupliqués
<button name="anecdote">Ajouter</button> permet d’ajouter un nouveau champ
Ce qui se trouve dans la balise <template> sert de modèle. C’est ce contenu qui sera dupliqué. Ce contenu est modifiable comme vous le souhaitez en ajoutant un ou plusieurs input.
Personnaliser un Persona (mise en page et fonctionnalités)
Paramétrer le plugin
Le paramétrage du Persona se fait dans la page de javascript créée à la troisième étape de l’installation.
Paramètres essentiels
category attend le numéro de la ou des catégories dans laquelle le Persona sera utilisé (pour rappel, ce numéro se retrouve dans l’URL de la catégorie).
name attend le nom du Persona. Ce nom doit être le même que celui indiqué dans le formulaire dans data-persona-name=""
Pour mettre en page votre Persona, il faut commencer par récupérer toutes les données qui sont enregistrées par le formulaire. On fait référence à ces données par le nom que l’on a donné aux champs/inputs du formulaire.
En reprenant l’exemple du champ qui attend l’âge du personnage, l’input était : <input type="text" name="age" /> alors on utilisera le mot clé age pour indiquer où s’affichera la donnée enregistrée de l’âge.
Ci-dessous, on voit comment récupérer toutes les données dans une liste où chaque nom doit être séparé d’une virgule :
Code:
const { prenom, age, metier } = data;
(C’est un peu fastidieux, heureusement, le plugin prévoit le faire automatiquement. Voir la partie automatisation.
Ensuite, le code HTML de la mise en page peut être inséré à l’endroit indiqué dans les commentaires du script.
Code:
<!-- Début du code de la mise en page --> <div class="fiche"> <h1>Jane Doe</h1> <b>Age :</b> 45 ans <b>Métier :</b> Présidente </div> <!-- Fin du code de la mise en page -->
Pour que les données soient placées au bon endroit de votre mise en page, il faut les transformer en variable. Tout simplement avec cette syntaxe : ${prenom} ou ${age} ou encore ${metier}
Le code HTML de la mise en page sera donc :
Code:
<!-- Début du code de la mise en page --> <div class="fiche"> <h1>${prenom}</h1> <b>Age :</b> ${age} <b>Métier :</b> ${metier} </div> <!-- Fin du code de la mise en page -->
Mise en page des champs duplicables
(Si cette étape est un peu difficile à comprendre, n’ayez crainte. Passez à l’étape suivante sur l’automatisation de cette étape et revenez la lire plus tard pour mieux comprendre.)
Pour rappel, les champs duplicables sont ceux que l’on peut ajouter autant de fois que l’on veut dans un formulaire. Pour reprendre l’exemple des anecdotes : le nombre d’anecdotes pouvant varier d’un personnage à l’autre, il est impossible d’anticiper combien de données on doit placer dans notre mise en page.
La récupération des données de ces champs et leur mise en page doit être réalisée légèrement à part. Voici comment ça se présente :
Code:
const anecdotesList = data.anecdote.map(({ titreAnecdote, textAnecdote }) => ` <!-- Début de mise en page d'une anecdote --> <div class="fiche_anecdotes"><b>${titreAnecdote}</b> <br/> ${textAnecdote}</div> <!-- Fin de mise en page d'une anecdote --> ` ).join("");
anecdotesList un nom personnalisé qui fait référence à toutes les anecdotes créées par l’utilisateur. Donnez le nom que vous voulez, ici ça aurait pu s’appeler également listOfAnecdote ou bien allAnecdotes par exemple.
data.anecdote.map contient le nom du champ duplicable. C’est le nom que vous avez donné à l’ensemble du bloc des champs duplicables dans le formulaire.
{ titreAnecdote, textAnecdote } sont les données que contient chaque anecdote.
Le code HTML qui est intégré ici sera la mise en page d’une anecdote. Cette mise en page va se répéter autant de fois qu’il y a d’anecdotes.
Dans votre code de mise en page globale du Persona, c’est le nom personnalisé qu’il faut utiliser pour placer tous les champs duplicables. Dans notre exemple ça sera ${anecdotesList}
Code:
<!-- Début du code de la mise en page --> <div class="fiche"> <h1>${prenom}</h1> <b>Age :</b> ${age} <b>Métier :</b> ${metier} <div class="facts"> ${anecdotesList} </div> </div> <!-- Fin du code de la mise en page -->
Automatisation
Lister toutes les données récupérées par votre formulaire et gérer les champs duplicables sont des opérations assez fastidieuses. Heureusement, le plugin vous propose de faire tout cela automatiquement !
Ouvrez un nouveau sujet afin de voir votre formulaire. Cliquez sur la petite roue crantée (visiblement unique par les admins) et activez l’affichage des données du formulaire (voir image ci-dessus) et elle vous fournira l’extraction automatique des données de votre formulaire à copier/coller dans votre code.
Un Persona est valable pour un type de sujet de gestion de personnage. Tout au long de ce tutoriel, nous avons installé et paramétré le Persona d’une fiche de présentation. Il est possible de faire la même chose pour une fiche de lien ou une fiche de scénario, par exemple.
Pour cela, installez un nouveau Persona à partir de la deuxième étape.
Intégrer un (nouveau) formulaire
Créez un nouveau formulaire sur la même base que le premier. Vous pouvez le mettre après ou avant, peu importe. Changez le nom du formulaire dans l’attribut data-persona-name Par exemple, pour un Persona de lien :
Modifiez les champs du formulaire comme souhaitez.
Initialiser un (nouveau) plugin
Créez une nouvelle page javascript avec un nouveau nom et n’oubliez pas de cocher l’activation sur toutes les pages. Copiez/collez le code suivant en pensant à bien modifier les informations essentielles sur la catégorie et le nom du Persona :
Code:
document.addEventListener("DOMContentLoaded", () => { new Persona({ category: [5], // Numéro de la catégorie name: 'lien', // Nom du Persona personaHTML: function (data) { ...
Les champs de formulaire sont créés avec des balises HTML bien précises. Ces balises fonctionnent avec des attributs qui définissent leur fonctionnement.
Input
Code:
<!-- Exemple de champ pour l'âge --> <input type="text" name="age" placeholder="Écrire ici"/>
La balise de champ par défaut. Elle se décline sous plusieurs type :
type text pour les champs de texte simple
type number pour les champs qui n’acceptent que des nombres
type range pour créer des jauges numériques
type color pour créer un sélecteur de couleur
type radio pour sélectionner un choix parmi une liste (voir Input radio)
Textarea
Code:
<!-- Exemple de champ pour le caractère --> <textarea name="caractere" placeholder="Décrivez ses qualités et ses défauts"></textarea>
Elle permet de créer un champ pour recevoir du texte plus long et l’utilisateur peut modifier sa taille.
Select
Code:
<!-- Exemple d'un menu déroulant pour choisir un groupe --> <select name="groupe"> <option value="groupe">Choisir le groupe</option> <option value="Alpha">Alpha</option> <option value="Bêta">Bêta</option> <option value="Charlie">Charlie</option> </select>
Elle crée un menu déroulant avec des choix prédéfinis.
C’est la balise <select> qui prend l’attribut name=""
Chaque choix doit être défini dans une balise <option> et c’est l’attribut value="" qui comporte la donnée qui sera enregistrée et affichée dans un sujet.
La première balise <option> est le choix par défaut du champ. L’attribut value="" peut être laissé vide.
Input radio
Code:
<!-- Exemple d'une liste à choix --> <input type="radio" name="avis" id="oui" value="Oui, top !" /> <label for="oui">Oui, top !</label>
<input type="radio" name="avis" id="non" value="Non, pas du tout." /> <label for="non">Non, pas du tout.</label>
L’input de type radio créé une liste de choix prédéfinis où seul un choix peut être coché.
Tous les <input> appartenant à la même liste de choix doivent contenir le même attribut name=""
Il faut créer une combinaison des deux balises <input> et <label> pour chaque choix disponible.
Pour lier les deux balises entre elles, la balise <input> doit contenir un attribut id="" et la balise <label> doit contenir un attribut for="", tous les deux avec une valeur identique (et unique).
Enfin, c’est l’attribut value="" qui comporte la valeur qui sera enregistrée et affichée dans un sujet.
Structure
Les codes ci-dessous sont facultatifs. Ce sont des petits composants déjà codés pour vous aider à organiser votre formulaire.
Groupe de champs
Permet de regrouper plusieurs champs dans une section avec un titre.
Code:
<fieldset> <!-- Titre de la section --> <legend>Identité</legend>
<!-- Liste des champs de la section -->
</fieldset>
Champ
Contient l’intitulé d’un champ et de sa description.
Code:
<div class="field"> <!-- Intitulé du champ --> <label>Prénom(s), nom(s)</label> <div class="field-description">Description du champs</div> <!-- Balise du champ --> <textarea name="prenomNom" placeholder="Écrire ici"></textarea> </div>
Deux colonnes
Permet d’afficher autant de champs que désiré dans deux colonnes.
Code:
<div class="fields-columns"> <div class="field"> <!-- Balise du champ --> </div>
<div class="field"> <!-- Balise du champ --> </div> </div>
Input à choix personnalisés
Personnalisation de l’input type radio.
Code:
<div class="checkbox-input"> <input type="radio" name="avis" id="oui" value="Oui, top !" /> <label for="oui" class="checkbox">Oui, top !</label>
<input type="radio" name="avis" id="non" value="Non, pas du tout." /> <label for="non" class="checkbox">Non, pas du tout.</label>
L’élément qui contient la prévisualisation doit avoir la même valeur que le nom du champ de l’URL dans l’attribut data-preview="" comme dans l’exemple suivant :
Code:
<!-- Élement qui affichera la prévisualisation de l'avatar --> <div class="image-preview avatar" data-preview="urlAvatar"></div>
<!-- Champ pour l'URL de l'avatar --> <div class="field"> <label for="urlAvatar">URL Avatar</label> <input type="text" name="urlAvatar" placeholder="https://..." /> </div>
Les paramètres sont à ajouter dans la page javascript qui initialise le plugin. Ils sont à lister à la suite des paramètres category ou name qui sont déjà présents et ils doivent être séparés par une virgule, comme ici :
Les paramètres sont des options qui attendent des types de valeurs très précises. Ici, vous allez en rencontrer quatre :
boolean est une valeur binaire qui peut être soit true(vrai) soit false(faux), pour activer ou désactiver une option.
string est une valeur en chaîne de caractère qui s’écrit entre doubles guillemets "". On peut y mettre du texte mais aussi du HTML. Attention ! Remplacez les guillemets de votre HTML par de simples apostrophes sinon votre string va se fermer trop tôt. <i class="icon"></i> → <i class='icon'></i>
array est un tableau, une valeur qui peut en recevoir plusieurs. Chaque valeur doit être séparée par une virgule.
function est une fonction qui va effectuer une action.
Paramètres
Chaque paramètre possède une valeur par défaut qui sera appliquée si ce paramètre n’est pas renseigné dans l’initialisation du script.
Category
Valeur par défaut : [0](array)
La valeur attend le numéro de la ou des catégories où est activé le Persona. Pour trouver ce numéro, ouvrez la catégorie dans votre navigateur et regardez dans son URL. Exemple : votrerpg.forumactif.com/f3-fiche-de-presentation le numéro de la catégorie est 3
Name
Valeur par défaut : "fiche"(string)
La valeur attend le nom du Persona. Ce nom doit être le même que celui qui est renseigné dans l’attribut data-persona-name du formulaire intégré dans le template posting_body.
pageTitleElement
Valeur par défaut : ["h1.page-title", ".panel h3"](array)
Ce paramètre attend les sélecteurs permettant de cibler les titres de la page de création ou édition d’un sujet. Par défaut, ce sont les sélecteurs propres au Blank Theme, à savoir h1.page-title et .panel h3 (pour vous aider à les repérer, cherchez {L_POST_A} dans votre template posting_body ou en faisant clic droit > inspecter l’élément sur les titre de la page). Leur contenu sera modifié par la phrase indiquée dans le paramètre personaPageTitle.
personaPageTitle
Valeur par défaut :
Code:
personaPageTitle: function (action) { return action + " sa fiche de présentation"; },
Cette fonction permet de modifier le titre de la page où s’affiche le formulaire. Normalement, le titre affiche “Poster un nouveau sujet” mais grâce à ce paramètre le titre est désormais “Poster sa fiche de présentation”.
La phrase commencera obligatoirement par un verbe d’action qui peut être “poster” ou “editer”.
textEditorContainer
Valeur par défaut : ".message-edition"(string)
Ce paramètre attend le sélecteur de l’élément qui contient la boîte de smileys et l’éditeur de texte de le page. Si vous n’utilisez pas le Blank Theme, assurez-vous d’avoir ces deux éléments dans une balise commune. Cela permettra au plugin de masquer l’éditeur de texte et les smileys dans la page.
deleteButton
Valeur par défaut : ""(string)
Ce paramètre attend le texte ou le HTML du bouton de suppression d’un champ duplicable. Par défaut, le bouton utilise une icône issue de la bibliothèque Ionicons utilisé par défaut par Forumactif. En change la classe de la balise <i> par une de celle listé dans leur documentation, vous obtiendrez des icones différents.
enableCheckTag
Valeur par défaut : true(boolean) Ce paramètre active la vérification des balises HTML intégrées par l’utilisateur dans un champ (bonne syntaxe, balise fermée, guillemets présents, …).
messageTagError
Valeur par défaut : "Vérifiez votre code HTML."(string)
Ce paramètre détermine le message d’erreur qui s’affiche aux utilisateurs lorsqu’une erreur HTML a été détectée dans leur champ.
enableCheckImage
Valeur par défaut : true(boolean)
Ce paramètre active la vérification d’un lien valable d’une image hébergée.
messageImageError
Valeur par défaut : "Vérifiez l'URL ou l'hébergement de votre image."(string)
Ce paramètre détermine le message d’erreur qui s’affiche aux utilisateurs lorsque le lien d’une image est faux ou mal hébergé.
personaScript
Valeur par défaut :
Code:
function (persona) { // Javascript ici },
Permet d’ajouter du javascript à la mise en page d’un Persona. L’argument persona vous permet de cibler directement la mise en page.