MyBB.support, le portail francophone de MyBB

Version complète : Création d'une nouvelle page hors mybb
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

Bonjour,

Sur le forum, nous voulions créer une nouvelle page qui ne ferait pas partie du mybb, mais qui serait une page additionnelle affichant les partenaire, mais ayant le design du forum, pour faire comme si cette page appartenait au forum alors que non.

Il y a quelques mois, j'avais déjà essayé et je me souviens avoir réussi avec un code semblable à celui-ci:

Code PHP :
<?php
define
("IN_MYBB"1);
require_once 
"./global.php";
echo
"$header"?>
Lolilol
<?php echo"$footer"?>

(ne faîtes pas attention au texte xD)

Et avec un code comme celui ci-dessus, j'avais réussi à obtenir une page avec le même design que le forum, un peu comme une include en php.
Sauf que dans mon cas, ça donne: http://sideow.fr/test.php

L'essentiel de ce que je voulais est présent, mais c'est comme si le css n'était pas inclus dans la page, alors que d'après ce que j'ai vu, il est inclus dans le global.php que j'ai effectivement appelé dans cette fameuse page.

C'est mon ami qui a installé le mybb donc je ne sais pas quel pack il a utilisé, mais c'est une nouvelle installation c'est sûr, avec, je pense, le pack: http://mybb.fr/thread-5645.html

Voilà voilà,
Cordialement,
SK Motion.
En regardant ce qui était écrit sur le topic, j'ai essayé, mais je n'ai pas très bien compris et donc pas réussi, n'avez-vous pas un message plus clair?
Désolé du double post, mais j'ai réessayé et réussi, mais impossible de mettre du php dans le contenu de la page. Y aurait-il un moyen? Car ce serait pour faire un club premium sur le forum, histoire de financer le serveur.
Alors là, je ne comprends pas. Puisque ta page est externe à mybb qu'est-ce qui t'empêche d'y mettre du PHP !!!???

Dans le lien que je t'avais donné, il y bien du PHP dans la page...
Justement, c'est sur cette page que je veux mettre su php.

Le code est:

Code PHP :
<?php define("IN_MYBB"1);
define('THIS_SCRIPT''monscript.php');

require_once 
"./global.php";



// Créer la navigation
add_breadcrumb($lang->monscript_section);

$moncontenu "lol";

eval(
"\$mapage = \"".$templates->get("test")."\";");
output_page($mapage); ?>

Vu que le contenu est $moncontenu, je ne peux pas include ni rien :/
Ah oui, OK. C'est vrai que j'avais juste posté le lien du post d'exdiogene après une rapide recherche sans même le lire.

Pour inclure du PHP dans les templates, il y a ce plugin :
http://mybbhacks.zingaburga.com/showthread.php?tid=260

Sinon, peut-être pourrais-tu utiliser ce plugin pour ton projet :
http://mods.mybb.com/view/page-manager
Lui il autorise le PHP, c’est écrit... Smile
Merci beaucoup, je vais tester Wink
Pourtant, rien n'empêche d'avoir du PHP dans cette page. Par exemple :

Code PHP :
<?php define("IN_MYBB"1);
define('THIS_SCRIPT''monscript.php');

require_once 
"./global.php";



// Créer la navigation
add_breadcrumb($lang->monscript_section);

// Choisir quoi afficher..
IF ($mybb->user['usergroup'] == 4){
  
$moncontenu "Bonjour ".$mybb->user['username'] ;
}else{
  
$moncontenu "Il est interdit d'avoir accès à cette page si l'on est pas du groupe #4!";
}

eval(
"\$mapage = \"".$templates->get("test")."\";");
output_page($mapage); ?>
Oui mais je pense que lui, il veut avoir du PHP dans $moncontenu...
Où est la différence?

Le template affichera ce qu'on voudra bien y écrire!

Alors, vu que le PHP est exécuté sur le serveur avant l'envoi de la page HTML; que ce soit avant l'intégration du "contenu" ou après, où est la différence?

Je pensais d'après sa réponse qu'il mettait du PHP dans la variable $moncontenu et que ça ne marchait pas.
Alors pour sa réponse :
Vu que le contenu est $moncontenu, je ne peux pas include ni rien :/

Il est aussi simple d'inclure le "include" au début, comme ici :
Code PHP :
<?php define("IN_MYBB"1);
define('THIS_SCRIPT''monscript.php');

require_once 
"./global.php";
include 
"monfichier.php";


// Créer la navigation
add_breadcrumb($lang->monscript_section);

// Choisir quoi afficher..
IF ($mybb->user['usergroup'] == 4){
  
$moncontenu "Bonjour ".$mybb->user['username'] ;
}else{
  
$moncontenu "Il est interdit d'avoir accès à cette page si l'on est pas du groupe #4!";
}

eval(
"\$mapage = \"".$templates->get("test")."\";");
output_page($mapage); ?>

Ou en conditionnel comme ici :
Code PHP :
<?php define("IN_MYBB"1);
define('THIS_SCRIPT''monscript.php');

require_once 
"./global.php";



// Créer la navigation
add_breadcrumb($lang->monscript_section);

// Choisir quoi afficher..
IF ($mybb->user['usergroup'] == 4){
  include 
"monfichier.php";
  
$moncontenu "Bonjour ".$mybb->user['username'] ;
}else{
  
$moncontenu "Il est interdit d'avoir accès à cette page si l'on est pas du groupe #4!";
}

eval(
"\$mapage = \"".$templates->get("test")."\";");
output_page($mapage); ?>

P.S. Et si le include génère du texte à sa sortie, alors il devra le récuperer avec les fonctions fournies de PHP et l'inclure dans le $contenu...
Merci beaucoup à vous deux, en effet le plugin pagemanager n'accepte pas le php si on lui met la template de mybb, donc ça ne convenait pas. La solution de exdiogène fonctionne, et spyto tu avais bien compris, je mettais du php dans la variable $moncontenu ce qui ne pouvait évidemment pas fonctionner, mais je n'avais pas pensé à l'intégrer par exemple dans une condition.

Enfin bref, je ne vais pas raconter toute ma vie, encore merci beaucoup à vous deux Wink
Désolé du double post mais je viens de lire la réponse de exdiogene: En fait, ce que j'avais eu l'idée de faire, vu que la page affichait le contenu de $moncontenu, je faisais ça:

$moncontenu = include('premium.php');

(et mettre mon script php dans premium.php)

Qui ne renvoyait rien, c'est logique.
Je suppose donc que le problème est réglé, j'applique le préfixe correspondant. Smile
 Utilitaire de traduction fourni par Regentronique