1. IMPORTANT : Nouvelles mesures de sécurité - 2. Règles pour obtenir de l'aide dans les forums de support - 3. Restrictions des droits pour le groupe "Support suspendu"

Il est obligatoire de respecter les Règles de MyBB.fr : Version abrégée ou Version complète pour obtenir du support sur nos forums.

Les membres ayant un site/forum contrevenant aux règles de MyBB.support seront placés dans le groupe "Support suspendu" et ne bénéficieront plus du support du staff. Nous recommandons aux autres membres d'agir de même. Il ne s'agit pas d'un bannissement, le membre retrouvera son statut "normal" dès que sa situation sera conforme aux règles.

Nouveau : un Wiki en français : plus de détails.
Avant de soumettre votre problème, consultez-le, ainsi que la FAQ, sans oublier le moteur de recherche interne.


Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Réglé] Ajouter un champ à la page de post
Mots-clés » problèmedecodagephpcms, ajouter, champ, page, post
27-06-2012, 18:21, (Modification du message : 30-06-2012, 16:03 par Calimero.)
#1
Ajouter un champ à la page de post
Bonjour à tous,

Je me suis lancé récemment dans la construction d'un site comprenant Mybb. Dans ce forum, chaque membre devrait pouvoir incarner un personnage et lui faire vivre des histoires (principe du rpg). Seulement ce membre pourrait changer de personnage à chaque sujet. Pour plus de clareté j''aimerais donc réaliser un espace au dessus de chaque post où l'on pourrait voir le nom du personnage qu'il est en train de jouer et quelques caractéristiques.

[Image: Capture_decran_2012-06-27_a_180426.png]

Pour remplir ce bloc, j'aimerais mettre des champs dans la partie "nouvelle réponse" en dessous de titre du message etc...

Pour ce faire, j'ai été dans la table de ma BDD nommée "mybb_posts" et j'y ai rajouté des champs "nom", "age" qui devrait accompagné username et tout le reste.

[Image: Capture_decran_2012-06-27_a_180346.png]

Lorsque le formulaire que j'ai créé en HTML est sur une page externe au reste et est relié à du PHP qui se charge d'inscrire les informations dans la BDD, tout se passe niquel, sauf que évidemment les informations ne sont pas reliées à un post existant. Mais si j'essai d'intégrer mon formulaire à "newreply" , pas moyen… J'ai tenter plein de choses qui ne fonctionnent pas alors j'aimerais votre avis sur la question. Comment dois-je m'y prendre pour rajouter des champs éditables dans au post d'un nouveau message ?

[Image: Capture_decran_2012-06-27_a_180438.png]


À savoir qu'actuellement mon HTML de formulaire est tout simple comme ceci :

Code :
<label for="age">Age</label> :  <input type="text" name="age" id="age" /><br />
        <label for="race">Race/sexe</label> : <input type="text" name="race" id="race" /><br />
        <label for="nation">Nationnalité</label> :  <input type="text" name="nation" id="nation" /><br />
        <label for="power">Pouvoir/arme</label> : <input type="text" name="power" id="power" /><br />
        <label for="caracter">Caratère</label> :  <input type="text" name="caracter" id="caracter" /><br />
Et mon php ressemble (en fonction des changements que je fais pour essayer de faire marcher la chose xD) à :

Code PHP :
try
{
$bdd = new PDO('mysql:host=monhote;dbname=mabase''pseudo''mdp');
}
catch (
Exception $e)
{
        die(
'Erreur : ' $e->getMessage());
}

define("IN_MYBB"1);
define('THIS_SCRIPT''newreply.php');

$templatelist "newreply,previewpost,error_invalidforum,error_invalidthread,redirect_threadposte​d,loginbox,changeuserbox,posticons,newreply_threadreview,forumrules,attachments,​newreply_threadreview_post,forumdisplay_rules,forumdisplay_rules_link";
$templatelist .= ",smilieinsert,smilieinsert_getmore,codebuttons,post_attachments_new,post_attachm​ents,post_savedraftbutton,newreply_modoptions,newreply_threadreview_more,newrepl​y_disablesmilies,postbit_online,postbit_find,postbit_pm,postbit_www,postbit_emai​l,postbit_reputation,postbit_warninglevel,postbit_author_user,postbit_edit,postb​it_quickdelete,postbit_inlinecheck,postbit_posturl,postbit_quote,postbit_multiqu​ote,postbit_report,postbit_ignored,postbit,post_subscription_method";

require_once 
"./global.php";
require_once 
MYBB_ROOT."inc/functions_post.php";
require_once 
MYBB_ROOT."inc/functions_user.php";
require_once 
MYBB_ROOT."inc/class_parser.php";
$parser = new postParser;

$req $bdd->prepare('INSERT INTO mybb_posts(nom,age,race,nation,power,caracter) VALUES(?, ?, ?, ?, ?, ?)');
        
$req->execute(array(
            
$post['nom'],
            
$post['age'],
            
$post['race'],
            
$post['nation'],
            
$post['power'],
            
$post['caracter'],
            ));
    } 

Le bloc pour la fiche dans le template "postbit_classic" lui ressemble à ça :

Code :
<span id="fichepersotexte"><h1>{$post['nom']} </h1><span class="titleperso">Age:</span> {$post['age']}
<span class="titleperso">Race/Sexe: </span> {$post['race']} <span class="titleperso">Arme/pouvoir: </span> {$post['power']}
<span class="titleperso">Nationnalité: </span> {$post['nation']}
<span class="titleperso">Caractéristiques: </span> {$post['caracter']} </span>

À savoir que, comme je le disais, quand je mets ces deux codes sur des fichiers séparés en dehors du forum, cela s'inscrit bien dans la BDD. Je pense donc que je ne sais tout simplement pas comment intégrer tout cela correctement avec le CMS...


C'est long mais j'ai essayé de vous donner le plus d'infos possible, je galère un peu :s

Je ne vous cache pas que le mélange CMS, PHP est encore un peu compliqué pour moi ^^


Merci d'avance !

"Le rien, c'est tout et c'est tout. De rien"
Répondre
30-06-2012, 13:52,
#2
RE: Ajouter un champ à la page de post
Personne ne peut m'aider ? :$

"Le rien, c'est tout et c'est tout. De rien"
Répondre
30-06-2012, 14:16,
#3
RE: Ajouter un champ à la page de post
(30-06-2012, 13:52)Calimero a écrit :  Personne ne peut m'aider ? :$

je n'ai pas bien compris, tu essais d'afficher sur le sujet plus d'information ?
Répondre
30-06-2012, 14:33,
#4
RE: Ajouter un champ à la page de post
En fait j'essai d'afficher sur le sujet des informations préalablement remplies par l'utilisateur lorsqu'il poste une nouvelle réponse.
J'ai rajouté un formulaire dans le template "newreply", il apparait bien mais lorsqu'on le rempli et qu'on poste la nouvelle réponse, les informations ne s'inscrivent pas dans la base de données comme elles le devraient... Alors que si je met le formulaire sur une page à part, et pas dans le template, cela fonctionne…

"Le rien, c'est tout et c'est tout. De rien"
Répondre
30-06-2012, 14:36,
#5
RE: Ajouter un champ à la page de post
Mybb ne permet pas d'ajoutée du php dans le posbit

Il faudrait que tu ajoute du code php directement dans le code Php
Car mybb ne permet pas de faire ce que tu souhaite ( je n'en comprend pas l'utiliter par la même occasion)
Répondre
30-06-2012, 14:46,
#6
RE: Ajouter un champ à la page de post
C'est justement ce que je fais. Le php je l'intègre dans newreply.php, il n'y a que le formulaire HTML qui est intégré directement dans les templates…

L'utilité est propre à mon forum où je souhaite que chaque membre puisse, pour chaque post, renseigner des informations spécifiques aux rpgs (age du personnage qu'il va jouer, race, caractères etc...qui changera à chaque post), le mieux c'est de regarder la première capture d'écran que j'ai mise car c'est difficile à expliquer comme ça ^^

"Le rien, c'est tout et c'est tout. De rien"
Répondre
30-06-2012, 15:05,
#7
RE: Ajouter un champ à la page de post
La meilleure façon de faire, serait de créer un plugin pour faire cela et ce serait ainsi compatible avec de futures mises à jour. Sinon il faut aussi modifier la fonction "insert_post()" dans le fichier "inc/datahandlers/post.php" pour que les nouveaux champs soient insérés.

Administrateur de MyBBCodes.com
Cool " Ce n'est pas ce que vous savez qui est important, c'est ce que vous faites ou ne faites pas!"
Obtenez plus de 175 plugins pour MyBB ici...
~~ AUCUNE AIDE Par MP, MAIL OU MSN !!!~~
Répondre
30-06-2012, 15:18, (Modification du message : 30-06-2012, 15:35 par Calimero.)
#8
RE: Ajouter un champ à la page de post
Bonjour,
D'accord je vais essayer de voir auprès de insert_post().
Sinon, est-ce qu'il y a quelque part un article ou autre qui explique comment se fait un plugin compatible MyBB ? Car au départ je pensais également qu'un plugin serait plus simple mais je n'ai trouvé nul endroit parlant de la manière dont faire un plugin.

Merci encore Smile

Edit: Oh merci beaucoup Exdiogène, ça marche enfin ! Depuis le temps que je suis dessus ! Il fallait en effet que je modifie également la fonction dans post.php. Je me doutais bien que cela provenait du fait qu'il fallait modifier un fichier bien précis mais je ne savais pas lequel, merci beaucoup ! Big Grin

"Le rien, c'est tout et c'est tout. De rien"
Répondre




Utilisateur(s) parcourant ce sujet : 3 visiteur(s)

Contact | MyBB.support | Retourner en haut | Retourner au contenu | Version bas-débit (Archivé) | Syndication RSS
 Utilitaire de traduction fourni par Regentronique