[Tutoriel] Préremplir le champ de message. - Version imprimable +- MyBB.support, le portail francophone de MyBB (https://mybb.support) +-- Forum : MyBB.fr (https://mybb.support/forum-1.html) +--- Forum : Tutoriels (https://mybb.support/forum-19.html) +--- Sujet : [Tutoriel] Préremplir le champ de message. (/thread-5062.html) Pages :
1
2
|
[Tutoriel] Préremplir le champ de message. - Saphir - 27-12-2011 Dans ce tutoriel, nous allons apprendre à préremplir le champ d'écriture de messages. Ceci vous permet de proposer un modèle de message à vos membres. Vous pouvez utiliser ce modèle, soit sur la page de création d'une nouvelle discussion, soit sur la page de rédaction d'une réponse à une discussion existante, soit aux deux. Vous pouvez également restreindre l'affichage de ce modèle à certains sous-forums uniquement, mais pour cela, il vous faudra un plugin permettant d'utiliser le code PHP dans les templates (téléchargeable ici : http://mybbhacks.zingaburga.com/showthread.php?tid=260). Étape 1 : Appliquer le préremplissage à un ou plusieurs sous-forums spécifiques. Si vous souhaitez que le préremplissage soit appliqué à toutes les nouvelles discussions ou nouvelles réponses, ignorez cette étape. Vérifiez que le plugin cité précédemment est installé et activé. Relevez les identifiants des sous-forums dans lesquels vous souhaitez activer le préremplissage en vous rendant par exemple dans la liste des sous-forums du panneau d'administration. En cliquant sur le sous-forum choisi, vous verrez apparaître à la fin de la barre d'adresse "fid=X", avec un nombre à la place du X : il s'agit de l'identifiant en question. Pour ma part, j'ai créé un sous-forum "Présentations", et il a pour identifiant 3. Si vous souhaitez activer le préremplissage dans le cas de l'ouverture d'une nouvelle discussion, vous devrez modifier le template "newthread" ; si vous souhaitez activer le préremplissage dans le cas d'une réponse à une discussion existante, vous devrez modifier le template "newreply". Évidemment, si vous souhaitez l'activer dans les deux cas, il faudra modifier les deux templates. Localisez le code suivant : Code PHP : <textarea name="message" id="message" rows="20" cols="70" tabindex="2">{$message}</textarea> Dans les codes ci-dessous, le "ICI" montre une position qui sera utilisée dans la seconde étape. Pour appliquer le préremplissage à un seul sous-forum, remplacez cette ligne par : Code PHP : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == X then>ICI</if>{$message}</textarea> Pour appliquer un préremplissage identique à plusieurs sous-forums, utilisez la ligne ci-dessous : Code PHP : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == X OR $_GET['fid'] == Y then>ICI</if>{$message}</textarea> Pour appliquer un préremplissage différent pour plusieurs sous-forums, utilisez le code suivant : Code PHP : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == X then>ICI<elseif $_GET['fid'] == Y then>ICI</if>{$message}</textarea> Si vous avez quelques notions de PHP, vous pouvez également combiner les deux types de codes pour appliquer un certain remplissage à deux sous-forums et un autre à un autre sous-forum, comme sur l'exemple ci-dessous : Code PHP : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == X OR $_GET['fid'] == Y then>ICI<elseif $_GET['fid'] == Z then>ICI</if>{$message}</textarea> Étape 2 : Choisir le texte qui préremplira le champ. Ici aussi, si vous souhaitez activer le préremplissage dans le cas de l'ouverture d'une nouvelle discussion, vous devrez modifier le template "newthread" ; si vous souhaitez activer le préremplissage dans le cas d'une réponse à une discussion existante, vous devrez modifier le template "newreply". Évidemment, si vous souhaitez l'activer dans les deux cas, il faudra modifier les deux templates. Si vous n'avez pas suivi la première étape, la position qui sera utilisée dans la suite du tutoriel est celle-ci : Code PHP : <textarea name="message" id="message" rows="20" cols="70" tabindex="2">ICI{$message}</textarea> À la place du ICI, vous allez pouvoir écrire le texte de votre choix. Le texte que vous allez entrer sera interpréter comme du texte simple, le code HTML sera donc affiché tel quel. Mon Exemple : Une présentation en bonne et due forme. J'ai mis le tutoriel en oeuvre en même temps que je l'ai écrit sur mon forum de test. Lors de la création d'une nouvelle discussion dans le sous-forum "Présentations" (identifiant 3), je veux qu'un "squelette" de présentation soit disponible pour que la personne qui veut se présenter n'ait plus qu'à entrer les informations de son choix. Je vais vous donner mon template "newthread" complet : Code PHP : <html> Ceci n'est pas réalisable sans le plugin nécessaire pour l'étape 1, et j'ai préféré ne pas vous l'apprendre pour éviter d'embrouiller les plus néophytes d'entre vous. Les personnes ayant des bases en PHP comprendront aisément ce bout de code. J'ai également utilisé un code similaire pour préremplir le titre du sujet, si vous avez quelques connaissances, vous pouvez également vous en inspirer. Enfin, {$mybb->user['username']} est remplacé par le nom de l'utilisateur, tout simplement ! Annexe : Petites traductions de code pour ceux qui veulent mieux comprendre... Code PHP : <td class="trow2">{$prefixselect}<input type="text" class="textbox" name="subject" size="40" maxlength="85" value="<if $_GET['fid'] == 3 AND !($subject) then>Présentation de {$mybb->user['username']}<else/>{$subject}</if>" tabindex="1" /></td> Code PHP : value="<if $_GET['fid'] == 3 AND !($subject) then>Présentation de {$mybb->user['username']}<else/>{$subject}</if>" SI l'on se trouve dans le sous-forum ayant l'identifiant 3 ET que le sujet n'a pas déjà été précisé dans une prévisualisation précédente, ALORS, afficher "Présentation de {$mybb->user['username']}", SINON, afficher "{$subject}". {$mybb->user['username']} est automatiquement remplacé par le nom de l'utilisateur et {$subject} par le sujet précisé dans la prévisualisation précédente. Code PHP : <textarea name="message" id="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == 3 AND !($message) then>Pseudonyme : {$mybb->user['username']} SI l'on se trouve dans le sous-forum ayant l'identifiant 3 ET que le message n'a pas déjà été précisé dans une prévisualisation précédente, ALORS, "Pseudonyme : {$mybb->user['username']} Prénom : Nom : Âge : Sexe : Ville : Présentation : ", SINON, "{$message}". {$mybb->user['username']} est automatiquement remplacé par le nom de l'utilisateur et {$message} par le message précisé dans la prévisualisation précédente. Captures d'Écran : L'affichage du squelette et un exemple de présentation utilisant le squelette. La première capture d'écran vous montre que le squelette s'affiche effectivement lorsqu'on crée une nouvelle discussion dans le sous-forum "Présentations" (sinon, il ne s'affiche pas), y compris dans le titre de la discussion ("Présentation de Saphir"). [attachment=1042] Conclusion Voila, un tutoriel un peu long, mais il fallait au moins ça pour le détailler un minimum. Si vous avez des questions ou des remarques, je reste à votre disposition ! RE: [Tutoriel] Préremplir le champ de message. - Lucifer - 27-12-2011 Merci du partage Saphir :d RE: [Tutoriel] Préremplir le champ de message. - Ch00s3r - 28-01-2012 Merci du partage , je vais essayez ... RE: [Tutoriel] Préremplir le champ de message. - Dr.Inconnu - 22-07-2012 Merci, cela marche RE: [Tutoriel] Préremplir le champ de message. - Razaru - 10-08-2012 Merci RE: [Tutoriel] Préremplir le champ de message. - Saachaa - 12-08-2012 Bonjour, J'ai tout suivi et installé le plugin, seul bémol : J'ai bien vérifié et il est activé, un soucis dans le code ? RE: [Tutoriel] Préremplir le champ de message. - Saphir - 12-08-2012 Bonsoir Saachaa. Pouvez-vous me donner le code complet de votre template tel qu'il pose problème ? RE: [Tutoriel] Préremplir le champ de message. - Saachaa - 13-08-2012 Bonjour Saphir, Désolé du dérangement, aujourd'hui tout marche pour le mieux... Je n'en vois pas la cause, mais tant mieux ! Désolé du dérangement A bientôt... RE: [Tutoriel] Préremplir le champ de message. - Stylus - 16-08-2012 Désoler de crrytiquer ton travail mais c'est trop compliqué pour moi . N'y à t'il pas un moyen plus facile du genre aller dans le panneau d'administration, configurer 2 3 truc et c'est bon ? RE: [Tutoriel] Préremplir le champ de message. - Saphir - 16-08-2012 Non. Si vous n'êtes pas capable de suivre un tutoriel, je vous invite à chercher un addon qui corresponde à vos besoin, ou à demander à un développeur d'en coder un, généralement, moyennant finance. RE: [Tutoriel] Préremplir le champ de message. - Saachaa - 16-08-2012 N'ayant jamais administrer, je le trouve pour ma part très simple... Il suffit de se mettre dedans même si au départ, cela donne réticence... RE: [Tutoriel] Préremplir le champ de message. - badmetal - 18-01-2014 Bonjour, Super ce Tutoriel, mais je viens de tester, alors au niveaux du prérenplisage du titre du post sa marche impeck, mais au niveaux du message rien ne s'affiche. je vous et mis un imprime écran en pièce jointe RE: [Tutoriel] Préremplir le champ de message. - Saphir - 18-01-2014 Peut être parce que vous n'utilisez pas l'un des éditeurs par défaut de MyBB. Pouvez-vous me donner le code de votre template ? RE: [Tutoriel] Préremplir le champ de message. - badmetal - 18-01-2014 Bonjour, Merci pour votre réponse, voilà le code Code : <head> RE: [Tutoriel] Préremplir le champ de message. - Saphir - 18-01-2014 Le code me semble bon. Pouvez-vous essayer avec l'un des éditeurs par défaut ? RE: [Tutoriel] Préremplir le champ de message. - badmetal - 19-01-2014 Bonjour, Merci, j'ai testé sans éditeurs, sa marche impeck, Avez-vous une idée de comment je pourrais faire marché cette astuce avec mon éditeur actuel ? RE: [Tutoriel] Préremplir le champ de message. - Saphir - 19-01-2014 Dans la mesure où j'ignore comment votre éditeur actuel fonctionne, non. Essayez d'en comprendre le fonctionnement si vous avez des connaissances en HTML et JavaScript. RE: [Tutoriel] Préremplir le champ de message. - sheron - 01-09-2014 salut a tous ! j'ai suivis le tuto ça fonctionne lorsque que l'on post un nouveau message mais pour newreply pas de resultat voici le code : Code : <textarea id="message" name="message" rows="20" cols="70" tabindex="2" ><if $_GET['fid'] == 5 then> RE: [Tutoriel] Préremplir le champ de message. - exdiogene - 01-09-2014 J'essayerais avec : Code PHP : <if $fid == 5 then> RE: [Tutoriel] Préremplir le champ de message. - sheron - 06-09-2014 d'accord merci et aussi j'aimerais bien un préformatage donc comme celui que j'ai posté plus haut pour le sous forum "retex" donc forum 5 avec le titre pré rempli "Retex de la partie..." et un autre pré remplissage pour le sous forum "presentation" donc forum 2 avec un titre prérempli "Présentation de" mais la ça devient un peu plus compliquer ^^ j'ai vue qu'il fallais utiliser Code : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == X then>ICI<elseif $_GET['fid'] == Y then>ICI</if>{$message}</textarea> donc dans mon cas: Code : <textarea id="message" name="message" rows="20" cols="70" tabindex="2"><if $_GET['fid'] == 5 then> pour ces lignes je pense que c'est bon? mais pour la ligne de préremplissage du titre (je l'avais deja modier pour retex mais j'aimerais ajouter aussi pour presentation) : Code : <td class="trow2">{$prefixselect}<input type="text" class="textbox" name="subject" size="40" maxlength="85" value="<if $_GET['fid'] == 5 AND !($subject) then>Retex de la partie<else/>{$subject}</if>" tabindex="1" /></td> |