Alice
тот мод который палыч давал как раз так и устроен.
А этот мод я как мод врядли буду оформлять т.к. половину что редактировал сам уже не помню.
В общем как делал:
создал файл
includes/profile_cp_menu.php писал(а):<?php
$template->assign_vars(array(
'U_PROFILE_CP' => append_sid("profile_cp.$phpEx"),
'L_PROFILE_CP_MAIN' => $lang['pcp_profile_cp_main'],
'U_USER_INFO_EDIT' => append_sid("profile_cp.$phpEx?mode=editprofile"),
'L_USER_INFO_EDIT' => $lang['pcp_user_info_edit'],
'U_USER_AVA_EDIT' => append_sid("profile_cp.$phpEx?mode=editava"),
'L_USER_AVA_EDIT' => $lang['pcp_user_ava_edit'],
'L_PROFILE_CP' => $lang['pcp_profile_cp'],
'L_USER_INFO_CP' => $lang['pcp_user_info'],
'U_USER_CONFIG_EDIT' => append_sid("profile_cp.$phpEx?mode=editconfig"),
'L_USER_CONFIG_EDIT' => $lang['pcp_edit_config'],
'U_USER_EMAIL_EDIT' => append_sid("profile_cp.$phpEx?mode=editemail"),
'L_USER_EMAIL_EDIT' => $lang['pcp_edit_email'],
'U_USER_PM_INBOX' => append_sid("privmsg.$phpEx?folder=inbox"),
'U_USER_PM_OUTBOX' => append_sid("privmsg.$phpEx?folder=outbox"),
'U_USER_PM_SAVEBOX' => append_sid("privmsg.$phpEx?folder=savebox"),
'U_USER_PM_SENTBOX' => append_sid("privmsg.$phpEx?folder=sentbox"),
'L_USER_PM_INBOX' => $lang['Inbox'],
'L_USER_PM_SENTBOX' => $lang['Sentbox'],
'L_USER_PM_OUTBOX' => $lang['Outbox'],
'L_USER_PM_SAVEBOX' => $lang['Savebox'],
'U_USER_WATCHED_TOPICS' => append_sid("watched_topics.$phpEx"),
'L_USER_WATCHED_TOPICS' => 'Подписка на темы'
)
);
?>
Потом отредактировал все необходимые шаблоны, просто добавляется дополнительный столбец примерно так(вставляется в начало файла с шаблоном, некоторые вещи не прописывал в ланг файлы т.к. лень было):
<table width=100%>
<tr><th colspan=2 class="thSides">{L_PROFILE_CP}</th></tr>
<tr>
<td class="row1" valign="top" align="left" width="150">
<table width="100%">
<tr><th class="thSides">Меню</th></tr>
<tr><td><span class="gen">
• <a href="{U_PROFILE_CP}">{L_PROFILE_CP_MAIN}</a><br />
• {L_USER_WATCHED_TOPICS}
</span></td></tr>
<tr><th class="thSides">Личные сообщения</th></tr>
<tr><td><span class="gen">
• <a href="{U_USER_PM_INBOX}">{L_USER_PM_INBOX}</a><br />
• <a href="{U_USER_PM_SENTBOX}">{L_USER_PM_SENTBOX}</a><br />
• <a href="{U_USER_PM_OUTBOX}">{L_USER_PM_OUTBOX}</a><br />
• <a href="{U_USER_PM_SAVEBOX}">{L_USER_PM_SAVEBOX}</a></span>
</td>
</tr>
<tr><th class="thSides">{L_USER_INFO_CP}</th></tr>
<tr><td><span class="gen">
• <a href='{U_USER_INFO_EDIT}'>{L_USER_INFO_EDIT}</a><br />
• <a href='{U_USER_AVA_EDIT}'>{L_USER_AVA_EDIT}</a><br />
• <a href='{U_USER_CONFIG_EDIT}'>{L_USER_CONFIG_EDIT}</a><br />
• <a href='{U_USER_EMAIL_EDIT}'>{L_USER_EMAIL_EDIT}</a></span></td></tr>
</table>
</td>
<td valign="top">
ну и соответственно в конец </td></tr></table>
И в файл из которого этот шаблон запрашивается (например для лс это privmsgs.php) перед каждым вхождением template -> pparse('body')
вставляется include($phpbb_root_path . 'includes/profile_cp_menu.'.$phpEx);
Таким способом можно любые страницы форума объединить под общим меню.
TODO
вставлять не таблицу а {UCP_MENU} а таблицу генерить в файле profile_cp_menu.php
Разделять usercp_register.php посложнее, но там все делается мозгом:)
[offtop]
Пока тут писал у меня суп сгорел:(
[/offtop]