[phpBB 3.0.x] Afficher le(s) dernier(s) message(s) du forum

Toutes les documentations phpBB seront ici.
Verrouillé
Avatar du membre
Dakin Quelia
Webmaster
Webmaster
Messages : 565
Enregistré le : ven. 27 nov. 2009 05:47
Localisation : Belgique
Contact :

[phpBB 3.0.x] Afficher le(s) dernier(s) message(s) du forum

Message par Dakin Quelia »

» Afficher le(s) dernier(s) message(s) du forum

Cela vous permet d'afficher soit un message unique soit les 5 derniers messages de votre forum. Vous pourrez personnaliser en utilisant la table des sujets (TOPICS_TABLE). Par ailleurs, vous pouvez décidez qui accède à cette page ou non à l'aide de cette documentation.

» Afficher un message unique

Vous créez un fichier php, que vous nommerez post.php ou ce que vous souhaitez.

Dans ce fichier, vous placerez ce code:

Code : Tout sélectionner

<?php
/**
 *
 * @author Daniel Chalsèche (Dakin Quelia) http://www.danielchalseche.be/
 *
 * @package Post
 * @version $Id: post.php 2009-08-12 02:31:25 Dakin Quelia $
 * @copyright (c) 2009 Daniel Chalsèche
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 *
 */

/**
* @ignore
*/
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);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

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

$sql = 'SELECT post_text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
        FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
$post = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$post['bbcode_options'] = (($post['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +
    (($post['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) + 
    (($post['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);

$text = generate_text_for_display($post['rules_text'], $post['bbcode_uid'], $post['bbcode_bitfield'], $post['bbcode_options']);

$template->assign_vars(array(
    'POST_CONTENT'        => $text,
));

// Output page
$site->page_header($user->lang['POST_PAGE']);

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

$site->page_footer();

?>
Dans la partie template, vous ferez un truc très simple (ou vous pouvez personnaliser) du genre:

Code : Tout sélectionner

<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>
		<div id="main">
			<h2><strong>{L_TITLE}</strong></h2>
			<p>{POST_CONTENT}</p>	
		</div>
	<span class="corners-bottom"><span></span></span></div>
</div>
Ce dernier fichier, vous le nommerez post_body.html ou ce que vous souhaitez selon le nom que vous aurez mis dans le code php.

» Afficher plusieurs messages

Vous créez un fichier php, que vous nommerez posts.php ou ce que vous souhaitez (exemple: wiki.php).

Dans ce fichier, vous placerez ce code:

Code : Tout sélectionner

<?php
/**
 *
 * @author Daniel Chalsèche (Dakin Quelia) http://www.danielchalseche.be/
 *
 * @package Post
 * @version $Id: post.php 2009-08-12 02:31:25 Dakin Quelia $
 * @copyright (c) 2009 Daniel Chalsèche
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 *
 */

/**
* @ignore
*/
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);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

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

$sql = 'SELECT post_text, bbcode_uid, bbcode_bitfield, enable_bbcode, enable_smilies, enable_magic_url
        FROM ' . POSTS_TABLE . '
        ORDER BY post_id DESC
        LIMIT 0,5';
$result = $db->sql_query($sql);

while ($post = $db->sql_fetchrow($result))
{
    $post['bbcode_options'] = (($post['enable_bbcode']) ? OPTION_FLAG_BBCODE : 0) +
        (($post['enable_smilies']) ? OPTION_FLAG_SMILIES : 0) + 
        (($post['enable_magic_url']) ? OPTION_FLAG_LINKS : 0);

    $text = generate_text_for_display($post['rules_text'], $post['bbcode_uid'], $post['bbcode_bitfield'], $post['bbcode_options']);
}
$db->sql_freeresult($result);

// Assign variables to template
$template->assign_block_vars('posts', array(
    'POST_CONTENT'        => $text,
));

// Output page
page_header($user->lang['POST_PAGE']);

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

page_footer();

?>
Dans la partie template, vous ferez un truc très simple (ou vous pouvez personnaliser) du genre:

Code : Tout sélectionner

<!-- BEGIN posts -->
<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>
		<div id="main">
			<h2><strong>{L_TITLE}</strong></h2>
			<p>{posts.POST_CONTENT}</p>	
		</div>
	<span class="corners-bottom"><span></span></span></div>
</div>
<!-- END posts -->
Ce dernier fichier, vous le nommerez posts_body.html ou ce que vous souhaitez selon le nom que vous aurez mis dans le code php.

Evidemment, à la fin de toutes les modifications, vous devez rafraîchir le template (onglet Styles) et vider le cache (onglet Général).

Verrouillé

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 28 invités