В стандартной комплектации форума
PHPBB нет очень восстребованной на многих форумах функции - правила форума. Те правила форума с которыми можно ознакомиться при регистрации на форуме, недоступны для уже зарегистрированных пользователей и как правило содержание правил неполное и относиться в основном к правилам регистрации. А часто возникают ситуации когда просто необходимо прочитать правила форума просто пройдя по соответствующей ссылке.
Например если кто то из посетителей нарушил какое либо из правил, бывает очень полезно указать ему на это нарушение с ссылкой на определённый пункт правил. На очень многих форумах правила форума просто впечатывают в один из топиков форума и ставят отметку что это важное обьявление с правами только на чтение. А это не совсем удобно. Такое размещение правил оправдывается в том случае если разные темы форума подчиняются разным правилам на основании общих правил для всего форума, но с некоторыми вариациями которые определяют модераторы тем.
Самый простой способ сделать отдельные правила всего форума доступные из общего меню форума, это добавить всего 2 файла и изменить одну строчку в третьем. Итак по порядку - открываем папку в которой находиться Ваш форум и создаём файл rules.php В него копируем следующий код
<? define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_FAQ);
init_userprefs($userdata);
$faq = array();
if( isset($HTTP_GET_VARS['mode']) )
{
switch( $HTTP_GET_VARS['mode'] )
{
case 'bbcode':
$lang_file = 'lang_bbcode';
$l_title = $lang['BBCode_guide'];
break;
default:
$lang_file = 'lang_faq';
$l_title = $lang['FAQ'];
break;
}
}
else
{
$lang_file = 'lang_faq';
$l_title = $lang['FAQ'];
}
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/' . $lang_file . '.' . $phpEx);
$page_title = "Правила Форума";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'rules.tpl')
);
//message_die(GENERAL_MESSAGE, $text);
//$template->pparse('rules');
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); ?>
После этого открываем папку templates и проходим в папку с Вашей темой. Там создаём файл rules.tpl и копируем в него следующий код
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr>
<td align="left" class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></td>
</tr>
</table>
<table class="forumline" width="100%" cellspacing="1" cellpadding="3" border="0" align="center">
<tr>
<th class="thHead">Правила форума - Читать всем обязательно !</th>
</tr>
<tr>
<td class="row1">
<span class="gen"><b><center>Общие Правила
форума</center><BR><BR><BR>
Здесь текст Ваших правил с применением тегов оформления форума
</span><br />
<br />
</td>
</tr>
<tr>
<td class="catBottom" height="28"> </td>
</tr>
</table>
<br clear="all" />
<table width="100%" cellspacing="2" border="0" align="center">
<tr>
<td align="right" valign="middle" nowrap="nowrap"><span class="gensmall">{S_TIMEZONE}</span><br /><br />{JUMPBOX}</td>
</tr>
</table>
Теперь нужно сделать правила форума доступными для чтения. Для этого открываем в папке Вашей темы файл overall_header.tpl и находим строчку вывода меню форума. В этой строчке есть например такой код
<a href="{U_PROFILE}" class="mainmenu"><img src="templates/subSilver/images/icon_mini_profile.gif" width="12" height="13" border="0" alt="{L_PROFILE}" hspace="3" />{L_PROFILE}</a>
Эта часть кода выводит ссылку на профиль. До или после этой части строки (где Вам будет удобнее) добавляете следующий код
<a href=rules.php><img src="templates/subSilver/images/icon_minipost_new.gif" width="12" height="9" border="0" alt="" hspace="3" />Правила форума</a>
соответствеено изменив название минииконки icon_minipost_new.gif на свою.