MyBB.support, le portail francophone de MyBB

Version complète : Insérer des nouvelles pages à MyBB, sans plugin
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Insérer des nouvelles pages à MyBB, sans plugin
Tout d'abord, je tiens à préciser une chose :
Ce tutoriel n'est pas du tout exclusif, vous pouvez retrouver plusieurs "versions" de ce tutoriel sur la version anglophone de MyBB (MyBB.com)

En ce qui concerne les versions françaises, je n'en est trouvé qu'une seule sur MyBB.fr, qui date de 2009, si vous voulez vous amuser à comparer les deux scripts, c'est ici : http://mybb.fr/thread-1782.html


1. Nous commençons par créer une nouvelle page : "ma_page.php"

Dans cette page, insérez ce code :
Code PHP :
<?php 
define
('IN_MYBB'1); require "./global.php";
add_breadcrumb("Titre de la page""ma_page.php"); 
eval(
"\$html = \"".$templates->get("mon_template")."\";"); 
output_page($html); 

----- Description -----
"./global.php" -> Signifie que le fichier "ma_page.php" est dans le même dossier que "global.php"

"Titre de la page", "ma_page.php" -> à modifier selon comment vous souhaitez/avez nommé votre page

$templates->get("mon_template") -> c'est le template qui sera utilisé (parti juste en dessous)

Maintenant que c'est fait, allez sur votre forum et ouvrez votre panel d'administration, allez dans templates et style / templates / votre_theme et ajoutez un nouveau template.

Moi, je dois nommer mon template "mon_template", à cause de mon script :
"$templates->get("mon_template")"

Remplissez le template, enregistrez le, ensuite ouvrez "ma_page.php" et voilà ! Votre nouvelle page est faite.

Notez que par défaut, les nouveaux templates enregistrés sont inscrits dans "templates dissociés".

- Édition du sujet : Pour que les éléments du forum sois visible sur la page, vous devez inclure les mêmes variables que les pages de MyBB, c'est à dire, dans votre template, vous devez utiliser cette structure :
Code PHP :
<html>
<
head>
    <
title>{$mybb->settings['bbname']}</title>
    {
$headerinclude}
</
head>
<
body>
    {
$header}
/* Contenu de votre page ici */
    
{$footer}
</
body>
</
html

Merci à Nitrome pour ce rappel.
Il est vrai que savoir ajouter des pages personnalisées à MyBB est indispensable.
Si tu me le permets, je m'inspirerait de cela pour faire un article un peu plus détaillé dans les FAQ ? Smile
Sans aucun problème Saphir, utilise mon tutoriel si tu le souhaite Smile
(il manque le petit ?> à la fin du code)
Perso j'aurais mis le template dans "Templates globaux" pour qu'il soit accessible quelque soit le thème

Et si vous voulez créer une page avec le thème du forum, il suffit de mettre le code ci-dessous dans le template "mon_template" Wink

Code PHP :
<html>
<
head>
    <
title>Ma page</title>
    {
$headerinclude}
</
head>
<
body>
    {
$header}

    
Mettez votre blabla html ici

    
{$footer}
</
body>
</
html

EDIT: j'oubliais, merci Jules pour le tuto Big Grin
Coucou Nitrome, deux petites informations pour répondre à ton message :

1. Si ta page est composée uniquement de PhP, inutile de fermer avec "?>"
Remarque : tu peut toujours utiliser
Code PHP :
return;
?>
pour être sur qu'aucun code après la fermeture ne sois pris en compte.

2. Oui, j'avais complètement oublié de préciser qu'il fallait inclure {$headerinclude}, après, c'est absolument pas obligatoire, si par exemple je souhaite seulement faire une page pour gérer des conditions (ou quelque chose qui ne nécessite pas d'être vue), je n'aurai pas besoin de {$headerinclude}, seulement du début du script PHP pour faire en sorte que les variables MyBB sois utilisables.

Pour les templates globaux, oui c'est possible aussi, mais encore une fois, non obligatoire sachant que la plupart des forums n'utilisent qu'un seul thème.
Oui je suis d'accord avec toutes tes remarques, les ajouts que j'ai proposé ne sont pas indispensables, c'était juste pour donner plus de choix à ceux qui un jour verront ce tuto.
Parce qu'en fait je l'ai adapté à mon besoin (l'histoire du template global, et du {$headerinclude}) et je me suis dit que ça pourrait en intéresser d'autres Smile
Je suis tout à fait d'accord avec toi, c'est toujours intéressant d'avoir les différentes versions des membres, merci Smile
Bonjour,
j'ai suivi votre tutos pour créer une page a mon forum cependant ma page n'est pas visible (je ne la vois pas sur mon forum)

elle est bien présente dans les templates dissocier
 Utilitaire de traduction fourni par Regentronique