Voir la version complète : Créer une page perso "vBulletin"
http://www.phylosophia.com/images/tuto/page-perso-vbulletin.gif
Bonjour à tous :)
Ce petit tuto pour vous expliquer comment créer une page perso vBulletin
___________________________________
---== Création de la page .php ==----
___________________________________
Créez un nouveau fichier .php, ici, dans notre exemple, nous allons le nommer: "mdr.php"
(mettez le code qui suit à l'intérieur)Code:
<?php
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'mdr'); // changer mdr avec le nom du fichier actuel sans l'extension ".php"
// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
'mdr', // changer ceci avec le nom du template que nous allons créer
'mdr2',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################
$navbits = array();
$navbits[$parent] = 'Page mdr';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('mdr') . '");');
?>
___________________________________
---== Création du template ==----
___________________________________
Créez un template avec le code qui suit à l'intérieur et nommer le, pour notre exemple: "mdr"
(A appliquer sur chaque style bien sûr)Code:
$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions</title>
</head>
<body>
$header
$navbar
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
<td class="tcat">Ma page personnalisée</td>
</tr>
<tr>
<td class="alt1">A vous de mettre le reste...</td>
</tr>
</table>
$footer
</body>
</html>
___________________________________
---== [B]Qui est en ligne ? ==----
___________________________________
Si vous souhaitez que votre nouvelle page soit reconnue dans "Qui est en ligne ?" (who is online), pour éviter d'avoir "Lieu inconnu", suivez les étapes suivantes:1 -Allez dans votre ACP "AdminCP"
2 -"Système de modules" => "ajouter un nouveau module"
3 -Remplissez avec ceci:
Produit: vBulletin
Emplacement du crochet: online_location_process
Intitulé: La page mdr (partie 1)
Code PHP du module:
if ($filename == 'mdr.php')
{
$userinfo['activity'] = 'mdr';
}
4 -Sauvegardez
5 -prochaine étape, ajout d'un deuxième module:
Produit: vBulletin
Emplacement du crochet: online_location_unknown
Intitulé: La page mdr (partie 2)
Code PHP du module:
if ($userinfo['activity'] == 'mdr')
{
$userinfo['action'] = 'Se détend sur ma page Mort de rire'; // Vous pouvez utiliser le système d'expression également $vbphrase ici...
$handled = true;
}
Le module est actif: Oui6 -Sauvegardez
___________________________________
---== Limiter les permissions ==----
___________________________________
Seulement pour les membresEn dessous de:
require_once('./global.php');
Ajouter:
if (!$vbulletin->userinfo['userid'])
{
print_no_permission();
}
Pour certains groupe utilisateur (Dans cet exemple, 6 et 7, admin et modo )En dessous de:
require_once('./global.php');
Ajouter:
if (!is_member_of($vbulletin->userinfo), 6) AND is_member_of($vbulletin->userinfo), 7))
{
print_no_permission();
}
Voila ce que ca donne:
http://www.vbulletin-ressources.com/forum/images/tutoriaux/1_1156013118.gif
___________________________________
http://www.phylosophia.com/forum/images/element/misc/base_smiley_tev2.png
cassis2k
21/02/2006, 17h38
Merci beaucoup pour ce tuto Allan. ;)
Je vais le suivre à la lettre.
De rien, il est assez simple :)
Merci Allan pour ce tuto pratique :)
WrestleMania
26/03/2006, 20h00
He merci ca c'est super pratique
merci pour le tuto allan mais j'ai une question comment tu fait pour appeler ce que contien le fichier php :(
merci pour le tuto allan mais j'ai une question comment tu fait pour appeler ce que contien le fichier php :(
C'est le template qui appele le fichier php
Que veut tu faire ?
cassis2k
06/04/2006, 19h58
Ok c'est relativement simple quoique pour comprendre tout le code, c'est pas évident.
Et si on décide de créer des pages faisant partie intégrante du site sans pour autant mélanger les fichiers.
je crée donc mon fichier php dans le répertoire plop à la racine de mon forum, ce qui me donne /plop/mdr.php
Il faut tout de suite modifier le chemin du fichier global.php
require_once('./../global.php');
Mais d'autres même avec ce changement, je n'y arrive pas.
Faut il déclarer le nouveau répertoire quelque par ?
hitman94
01/05/2006, 11h01
Moi j'obtiens une page blanche, help !
PS: C'est bon, c'est réparer mais par contre, impossible de mettre du code php !!! Pas cool.
WrestleMania
04/05/2006, 19h28
J'ai une page blanche moi, pas très bien compri la, ou est ce que le fichier php est appelé dans le tempate etc... est ce que qqn pourrait me préciser c sujet svp
edit: je viens de réussir c'est bon :p
le lien pour voir ce que sa donne ne va plus tu pourrait le mettre sur un autre lien stp allan que je voit merci
le lien pour voir ce que sa donne ne va plus tu pourrait le mettre sur un autre lien stp allan que je voit merci
Je n'en n'ai plus en modèle la, désolé :p
merci beaucoup pour le tuto :! ;)
bonsoir
dans quel répertoire on doit mettre les deux fichiers créés cad mdr.php et le template mdr
merci
Pour le template, il te faut le créer (Style & Template => Gestionnaire de styles => tu choisi ton style => dans le menu de droite, tu le déroule et => Ajouter un nouveau template.
Pour le fichier .php, tu dois le placer à la racine de ton forum, c'est a dire au même endroit que les fichiers index.php, global.php par exemple.
Pour le template, il te faut le créer (Style & Template => Gestionnaire de styles => tu choisi ton style => dans le menu de droite, tu le déroule et => Ajouter un nouveau template.
Pour le fichier .php, tu dois le placer à la racine de ton forum, c'est a dire au même endroit que les fichiers index.php, global.php par exemple.
Merci.
Mais ça marche pas peut être que la page créée en php est défaillante. les templates ont été créés sans problème
en plus plus je n'ai pas terminé le tuto cad j'ai réalisé juste ce qui est avant ---== Limiter les permissions ==----
Ca marcher tres bien pour moi pour insrer une radio (wimpy)
je me demande seulement si on peut poster sur cette page du style post (balises bbcode ..etc )
sinon le faire automatiquement (index de chansons et d'album sur cette radio)
merci
Je n'ai pas observer aucune modification :(
A- Où je dois mettre le fichie .php ?
SI le fichie .php doit etre present en vb/ alors pourquoi c'est require_once('./global.php'); et pas tout simplement require_once('global.php'); ??
:( J'aimes l'idee mais c'a marche pas .
Merci .
The Fanopsis
04/03/2007, 23h04
merci j'avais vrement besoin de cette astuce, merci infiniment :)
ca me sert beaucoup merci encore allan :)
ca me sert beaucoup merci encore allan :)
Avec plaisir :)
anarchoi
05/06/2007, 07h02
moi j'ai un probleme ultra bizzare.....llol
j'ai un template avec du code php.... tout marche bien quand j'utilise le systeme de pages de VB (index.php?page=nomdutemplate)
j'ai copier/coller le code de ce topic, et renommer tout les "MDR" pour "lyrics"
le probleme c'est que l'INDEX.PHP de mon forum est automatiquement remplacer par LYRICS.PHP, et j'y comprends rien.... Au moment ou je met ce fichier sur mon FTP je ne peux plus afficher l'index de mon forum...
lyrics.php:
<?php
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'lyrics'); // changer lyrics avec le nom du fichier actuel sans l'extension ".php"
// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
'lyrics', // changer ceci avec le nom du template que nous allons créer
'lyrics2',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################
$navbits = array();
$navbits[$parent] = 'Page lyrics';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
eval('print_output("' . fetch_template('lyrics') . '");');
?>
template LYRICS (bon ok le code est degeulasse et plein de trucs inutiles, je suis un newbie et il est a moitier fini, mais il est supposer avoir aucun bugs.... en tout cas quand j'utilise les templates ca marche):
<form method="POST" action="index.php?page=groupe">
<input type="text" name="name" size="20" maxLength="20" value><input
type="submit" value="Submit" name="B1">
</form>
<center><table width="825"><tr><td valign="top" background="uploadbg.png">
<?php
if(!empty($_GET['page2'])){
switch ($_GET['page2']) {
case 1:
echo '11111111111111';
break;
case 2:
echo '22222222222222';
break;
}
}
//check if the name field is not empty and set
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="";
$string=preg_replace('/ - .*/', '', $groupe);
if(file_exists("albums/groupes/$string.gif")){
echo "<center><fieldset style=\"width: 50%; border: 1px #c0c0c0 dashed; background: #000000;\">";
echo "<a href=\"tags/index.php?tag=/$string/\"><img src=\"albums/groupes/$string.gif\" border=\"0\"></a><br></fieldset></center></fieldset>";
} else {
$string=preg_replace('/ - .*/', '', $groupe);
if(file_exists("albums/groupes/$string.jpg")){
echo "<center><fieldset style=\"width: 50%; border: 1px #c0c0c0 dashed; background: #000000;\">";
echo "<a href=\"tags/index.php?tag=/$string/\"><img src=\"albums/groupes/$string.jpg\" border=\"0\"></a><br></fieldset></center></fieldset>";
} else {
echo "";
}
}
?>
<center><fieldset style="border: 1px dashed #FFFFFF; width: 400px; height: 240px; background: #000000; padding: 0px; margin: 0px;">
<legend><img src="bio.gif"></legend>
<iframe name="biographie" src="lyrics_recherche.php?do=process&forumchoice[]=56&showposts=1&titleonly=1&query="$groupe"" width="400px" height="200px" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin="0" padding="0" scrolling=style="overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: #000000;"></iframe><br></fieldset></center>
</td><td valign="top" background="4.png">
<center>
<fieldset style="border: 1px dashed #FFFFFF; width: 400px; height: 240px; background: #000000; padding: 0px; margin: 0px;">
<legend><a href="search.php?do=process&forumchoice[]=57&showposts=1&titleonly=1&query="$groupe""><img src="interviews.gif" border="0"></a></legend>
<iframe name="interview" src="interviews_recherche.php?do=process&forumchoice[]=57&showposts=1&titleonly=1&query="$groupe"" width="400px" height="200px" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin="0" padding="0" scrolling=style="overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: #000000;"></iframe><br></fieldset></center>
</td></tr></table>
<?php
mysql_connect('localhost', 'anarchoi1', 'molotov77');
mysql_select_db(anarchoi1_vb);
if(isset($_POST['texte']))
{
$var = $_POST['texte'];
} else {
$var = "%%";
}
$query = "SELECT threadprefix, forumid FROM forum WHERE threadprefix LIKE '$var' AND forumid='46, 50' ORDER BY threadprefix ASC";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// echo "$num_rows ALBUMS dans la base de donnée<br>";
while($row = mysql_fetch_object($result))
{
$var = $row->threadprefix;
$prenoms = $row->threadprefix;
$prenoms = nl2br($prenoms);
$tableau = explode('<br />',$prenoms);
foreach ($tableau as $element)
{
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="Dude";
if(preg_match('/'.$groupe.'/i', $element)) {
echo "<br><fieldset style=\"border: 1px dashed #FF0000; width: 600px; height: 260px; background: #000000; padding: 0px; margin: 0px;\">";
echo '<legend><font size=\"3\"><b><a href="forumdisplay.php?f=46&threadprefix='.$element.'">'.$element.'</a></font></b></legend>';
echo '<table width=\"75%\" align=\"center\" cellpadding=\"8\"><tr><td background=\"2.png\">';
// yo //
$string2=$element;
$pattern="/\ \(.+\)/";
$string3=preg_replace($pattern,'',$string2);
$string=trim($string3);
if(file_exists("albums/$string.gif")){
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/$string.gif\" width=\"250px\" height=\"225px\" border=\"0\"></a>";
} else {
if(file_exists("albums/$string.jpg")){
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/$string.jpg\" width=\"250px\" height=\"225px\" border=\"0\"></a>";
} else {
echo "<a href=\"forumdisplay.php?f=46&threadprefix=$element\"><img src=\"albums/error.gif\" width=\"250px\" height=\"225px\" border=\"0\"></a>";
}
}
// yo //
echo '</td><td width=\"70%\" background=\"4.png\">';
echo "<iframe name=\"album\" src=\"forumdisplay_album.php?f=46&threadprefix=$element\" width=\"450px\" height=\"225px\" frameborder=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 margin=\"0\" padding=\"0\" valign=\"middle\" style=\"font-size: 1px; overflow-x:hidden; overflow-y:scroll; margin: 0px; padding: 0px; spacing: 0px; border: 0px; background: transparent;\"></iframe><br>";
echo '</td></tr></table></fieldset>';
}
}
}
$var = "%%";
$query = "SELECT threadprefix, forumid FROM forum WHERE threadprefix LIKE '$var' AND forumid='50' ORDER BY threadprefix ASC";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result);
// echo "$num_rows ALBUMS dans la base de donnée<br>";
while($row = mysql_fetch_object($result))
{
$var = $row->threadprefix;
// echo "<br>";
$prenoms = $row->threadprefix;
$prenoms = nl2br($prenoms);
$tableau = explode('<br />',$prenoms);
$groupe=htmlspecialchars($_POST['name']);
foreach ($tableau as $element)
{
if (isset($_POST['name']) and ($_POST['name']<>''))
//The variable $name is created, as if by magic by php
//That is, because the text field had the name "name"
//this is passed in the POST variable
$groupe=htmlspecialchars($_POST['name']);
else
$name="Dude";
if(preg_match('/'.$groupe.'/i', $element)) {
echo '<a href="forumdisplay.php?f=50&threadprefix='.$element.'">'.$element.'</a><br />';
}
}
}
?>
</td>
</tr></table>
THE_MAD2
10/11/2007, 15h54
Salut, comment on fait pour limiter cette page a plusieurs userid, plusieurs membres présélectioné
Avec des conditions, regarde ma signature :)
Salut!
Désoler mais j'suis n00b total en VB, une chose que j'aimerais savoir.
- tu créer la page .php, pas de prob
- tu créer le template, pas de prob
maintenant comment je m'en sers?
j'ai tester en mettant $mdr dans un template pour qu'il soit intégré au site, marche pas. J'ai tester en allant sur l'url http://www.tld.com/index.php?do=mdr et ça ne marche pas plus.
J'ai manqué un bout ou quoi?
Merci
EDIT:
CE que je veux aire est une page externe qui prendra le thème en cours auquel j'y mettrai mon contenu avec du html, comme une page de règlement ou de media provenant de l'externe.
Regarde bien ce que je dis au début, il ne s'agit pas ici d'utiliser que les templates mais également de créer une page php, ce que tu a fais, l'url devrait donc être: http://www.tld.com/mdr.php (cela dépend du lieu du fichier php bien sur ^^)
Si tu souhaite utiliser que les template sans la contrainte du fichier php, regarde ce tutoriel (http://www.vbulletin-ressources.com/forum/showthread.php?t=956) :)
Bon merci, allez savoir pourquoi mais j'avais fais ça hier soir et ça marchait pas. Ça me renvoyais vers la page index ???
Mais bon, ça marche.
Merci
WMLogistic
01/05/2008, 23h20
Super ca fonctionne bien
Merci à toi l'ami :)
Super ca fonctionne bien
Merci à toi l'ami :)
Content pour toi :)
poséidon
03/07/2008, 19h10
merci trop cool ça
foudu1030
27/08/2008, 04h25
Merci Allan mais je bloke là à la premiere parti xD
Voilà suis aler sur le bureau g fais un doc.txt je l'ai renomer en .php et apres j'ai mis le code à l'interieur et apres je dosi mettre uo le document .php??:(
Merci Allan mais je bloke là à la premiere parti xD
Voilà suis aler sur le bureau g fais un doc.txt je l'ai renomer en .php et apres j'ai mis le code à l'interieur et apres je dosi mettre uo le document .php??:(Bonjour,
je pense que ça ce met à la racine de ton forum.
vBulletin® v.3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd. Tous droits réservés - Version française vbulletin-fr.org