[3.0.x] Ajouter une nouvelle page personnalisée à phpBB Difficile

Partager sur FacebookPartager sur TwitterPartager sur Google+

[3.0.x] Ajouter une nouvelle page personnalisée à phpBB

Pages de site accordées au forum


- Ajouter une nouvelle page personnalisée à phpBB.

Ce tutorial va vous apprendre à ajouter une nouvelle page personnalisée à phpBB. Pourquoi voudriez-vous faire celà ? Disons par exemple, que vous vouliez créer une nouvelle page qui ressemble exactement au design de votre forum. Cette nouvelle page peut contenir ce que vous voulez, d'un simple texte comme un règlement, à des choses plus compliqués comme des scripts phpBB. (Par exemple, un calendrier) Commençons donc.

- Le fichier apropos.php

Lorsque vous créez la page apropos.php, assurez-vous qu'il n'y ait aucune ligne blanche et/ou espace avant la partie <?php et après la partie ?>
Pour cet exemple, nous créerons une simple page qui en apprend un peu sur le site. Copiez et collez le code ci-dessous dans votre éditeur de texte préféré.

Code: Tout sélectionner
<?php
define
('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include(
$phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('Titre Ici');

$template->set_filenames(array(
    'body' => 'votrepage_body.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>

C'est tout ? Pas tout à fait. Continuons l'explication :
Si vous créez une page complètement personnalisée, vous n'aurez probablement pas besoin de faire ça, mais si vous avez besoin d'accéder aux fichiers et clés de langues de phpBB, alors changez cette ligne :

Code: Tout sélectionner
$user->setup(); 

pour la ligne suivante :
Code: Tout sélectionner
$user->setup('nom_de_base_du_fichier_langue_ici'); 

Remplacez nom_de_base_du_fichier_langue_ici avec le nom du fichier de langue que vous voulez sans l'extension .php
Par exemple, si vous avez besoin d'accéder aux clés de langue de viewtopic.php alors utilisez ce code :
Code: Tout sélectionner
$user->setup('viewtopic'); 


Le premier changement que vous avez besoin de faire concerne cette ligne :
Code: Tout sélectionner
page_header('Titre Ici'); 

Changez juste Titre Ici par ce que vous voulez voir afficher dans la barre de titre du navigateur.
Dans notre exemple, nous le changerons pour A Propos.

Le changement suivant à faire concerne cette ligne :
Code: Tout sélectionner
'body' => 'votrepage_body.html'

Une fois de plus, pourquoi changer cela ? phpBB sépare la logique de la page (tout le code PHP) du désign (couleurs, images, fonds, etc.) et du texte (le fichier HTML). Vous aurez besoin de renommer votrepage_body.html pour quelque chose de plus clair comme apropos.html et nous en aurons fini dans l'édition de ce fichier. Sauvegardez le fichier au-dessus dans votre éditeur de texte sous le nom apropos.php (note : Windows peut tenter d'ajouter une extension .txt à la fin, si cela arrive, sauvegardez-le sous le nom "apropos.php" y compris les guillemets)

- Astuce bonus

Si vous souhaitez restreindre l'accès de cette page aux utilisateurs connectés uniquement alors cherchez cette ligne
Code: Tout sélectionner
$user->setup(); 


Et ajoutez ce petit morceau de code après
Code: Tout sélectionner
if ($user->data['user_id'] == ANONYMOUS)
{
    login_box('', $user->lang['LOGIN']);


- le fichier apropos_body.html

Ensuite, nous allons créer le fichier HTML qui contient le contenu véritable de apropos.php. Encore une fois, dans votre éditeur de texte, copiez le code suivant:
Code: Tout sélectionner
<!-- INCLUDE overall_header.html -->

<h2>Titre Ici</h2>

<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>

	<div class="content">
		<p>
			Contenu de la page ici
		</p>
	</div>

	<span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->

C'est plutôt simple à faire. Pour changer le nom de la page qui est affiché en grosses lettres près du haut, changez juste la ligne :
Code: Tout sélectionner
<h2>Titre Ici</h2>

Remplacez Titre ici par A propos.

Et voici la partie où vous ajouterez le contenu véritable de la page :
Code: Tout sélectionner
			Contenu de la page ici

Vous pouvez ajouter n'importe quel code HTML ou CSS ou texte simple que vous voulez. Voici un exemple rapide avec un peu de texte et une liste de rubriques
Code: Tout sélectionner
			Le site a été créé cette année pour vous procurer le meilleur forum du Net !

			Nous vous promettons de :
			<ul>
				<li>vous fournir un contenu attrayant !</li>
				<li>vous fournir une ambiance amicale !</li>
				<li>surtout vous fournir un environnement où vous pourrez vous amuser !</li>
			</ul>


- Emballé, c'est pesé !

Si vous avez suivi correctement les instructions voilà à quoi doivent ressembler vos deux fichiers maintenant.

apropos.php:
Code: Tout sélectionner
<?php
define
('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include(
$phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('A Propos');

$template->set_filenames(array(
    'body' => 'apropos_body.html',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>


apropos_body.html:
Code: Tout sélectionner
<!-- INCLUDE overall_header.html -->

<h2>Titre Ici</h2>

<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>

	<div class="content">
		<p>
			Le site a été créé cette année pour vous procurer le meilleur forum du Net !

			Nous vous promettons de :
			<ul>
				<li>vous fournir un contenu attrayant !</li>
				<li>vous fournir une ambiance amicale !</li>
				<li>surtout vous fournir un environnement où vous pourrez vous amuser !</li>
			</ul>
		</p>
	</div>

	<span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->


Etape finale

Maintenant sauvegardez le fichier que vous venez de modifier sous le nom apropos_body.html et uploadez-le dans le répertoire styles/votre_style/ template sur votre espace web. Uploadez aussi le fichier apropos.php sur votre espace web dans le répertoire principal de phpBB ( le même endroit ou se trouve faq.php, viewforum.php, viewtopic.php, etc.).

Source: Traduction de l'article de phpBB.com réalisée par Plasma.

MàJ par Morgyanne le 19/11/11 - 10:32
Correction dans le fichier apropos.php (PHPBB_ROOT_PATH) et ajout de l'astuce bonus


12/02/2014 - modifié par Geo pour corriger le titre.
Plasma
Floodeur mature
Floodeur mature
 
Rédigé le: 12 Fév 2014 à 00:35
Articles: 5
Noter cet article: 123456 Votants: 5
Mots-clés: Ajouter, une, nouvelle, page, personnalisée, à, phpBB, 30x

Retourner vers Coding


cron