| Создание дополнительных (произвольных) страниц в стиле конференции |
|
|
|
| Wendigo, 05.05.2011, 11:15 |
|
Привет! Это руководство подскажет вам, как создать и добавить новую персональную страницу в стиле phpBB. Почему бы вам захотелось это сделать? Скажем, вы хотите создать новую веб-страницу, которая выглядит так же, как ваш форум. Эта новая страница может содержать все, что вам угодно, от простого текста (например, списка правил) до более сложных вариантов, таких как php-скрипты, например, календари. Давайте начнем. Файл aboutus.php Важно: При создании файла aboutus.php, убедитесь, что в нём нет пустых строк и/или пробелов перед <?php и после ?>. Для примера, мы создадим простую страницу, рассказывающую о вашем сайте. Скопируйте код, расположенный ниже, и вставьте его в текстовый редактор, который вы предпочитаете. Примечание от phpBB Guru: Мы рекомендуем использовать редакторы, поддерживающие кодировку UTF-8, сохраняя их в указанной кодировке без метки "BOM". Список редакторов для работы с кодировкой UTF-8 (Unicode) можно найти на этой странице. Учтите, что Notepad (Блокнот) из комплекта Windows для редактирования не подходит, так как он не поддерживает сохранение файла без указанной метки. <?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('Здесь_название_страницы');
$template->set_filenames(array(
'body' => 'имя_файла_шаблона_страницы_body.html',
));
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
И это всё? Нет, не совсем, позвольте мне объяснить далее. При создании полностью настроенной (как есть) страницы вам, вероятно, не нужно будет этого делать, но если вам понадобится доступ к языковым файлам phpBB, то измените эту строку: $user->setup(); на: $user->setup('имя_языкового_файла');Замените текст имя_языкового_файла именем нужного вам языкового файла без .php расширения. Например, если вам необходимо загрузить языковой файл viewtopic.php, то используйте этот код:$user->setup('viewtopic');Первые изменения внесите в следующей строке: page_header('Здесь_название_страницы');Просто измените текст Здесь_название_страницы на то, что вы хотите видеть в заголовке окна браузера. Для нашего примера мы изменим его на: «О нас».Примечение от phpBB-Guru: Смотрите дополнение в конце статьи. Далее нужно изменить следующую строку: 'body' => 'имя_файла_шаблона_страницы_body.html',Позвольте мне объяснить, почему вы должны это изменить. phpBB разделяет логику скриптов (php-код), страниц стиля (цвет, изображения, фон и т.д.) и собственно содержания (контента) (текст, html-код). Вам нужно будет изменить название файла имя_файла_шаблона_страницы_body.html на что-то более понятное, например, aboutus_body.html - и мы окончим редактирование этого файла. Сохраните этот файл в текстовом редакторе как aboutus.php. Обратите внимание: Microsoft Windows может попытаться добавить расширение .txt в конце, так что если это произойдет, сохраните его как "aboutus.php" (включая кавычки). Дополнительный совет. Если вы хотите предоставить доступ к странице только для авторизованных пользователей, то найдите эту строку: $user->setup(); и добавьте после неё следующий фрагмент кода: if ($user->data['user_id'] == ANONYMOUS)
{
login_box('', $user->lang['LOGIN']);
}
Файл aboutus_body.html Далее, мы создадим html-файл, который будет содержать актуальное содержание страницы aboutus.php. Снова открываем ваш любимый редактор и копируем следующий код: <!-- INCLUDE overall_header.html --> <h2>Заголовок_страницы</h2> <div class="panel"> <div class="inner"><span class="corners-top"><span></span></span> <div class="content"> <p> Здесь содержание. </p> </div> <span class="corners-bottom"><span></span></span></div> </div> <!-- INCLUDE jumpbox.html --> <!-- INCLUDE overall_footer.html --> Это довольно просто сделать. Чтобы изменить имя страницы, которая отображается крупными буквами в верхней части, просто измените эту строку: <h2>Заголовок_страницы</h2> Измените «Заголовок_страницы» на «О нас». А это часть, куда вы вставите всю необходимую информацию: Здесь содержание. Вы можете добавить сюда любой html- и css-код и текст, который необходим. (Если вы не знаете html или css, я рекомендую изучить их. Они довольно просты для понимания. В интернете вы найдёте немало прекрасных пособий для их изучения.) Вот небольшой пример с текстом и списком: Мы были основаны в этом году, чтобы предоставить Вам лучшие форумы в Интернете! Мы обещаем сделать следующее: <ul> <li>Обеспечить новым содержанием</li> <li>Обеспечить дружественную атмосферу</li> <li>Обеспечить среду, где можно повеселиться!</li> </ul> Заключительная упаковка. Если вы следовали указаниям, то вот так эти два файла должны выглядеть сейчас: aboutus.php: <?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('О нас');
$template->set_filenames(array(
'body' => 'aboutus_body.html',
));
make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
aboutus_body.html: <!-- INCLUDE overall_header.html --> <h2>О нас</h2> <div class="panel"> <div class="inner"><span class="corners-top"><span></span></span> <div class="content"> <p> Мы были основаны в этом году, чтобы предоставить Вам лучшие форумы в Интернете! Мы обещаем сделать следующее: <ul> <li>Обеспечить новым содержанием</li> <li>Обеспечить дружественную атмосферу</li> <li>Обеспечить среду, где можно повеселиться!</li> </ul> </p> </div> <span class="corners-bottom"><span></span></span></div> </div> <!-- INCLUDE jumpbox.html --> <!-- INCLUDE overall_footer.html --> Последние шаги. Теперь сохраните файл, который вы изменяли, как aboutus_body.html и загрузите его на ваш веб-сервер в папку /styles/название_вашего_стиля/template/. Также загрузите aboutus.php файл на веб-сервер в корневую (root) папку phpBB (туда же, где находится config.php).Наконец, перейдите по ссылке http://адрес_вашего_форума/aboutus.php, чтобы увидеть вашу новую страницу.Удачи! Примечание от phpBB Guru: Учитывая, что вы, скорее всего, создаёте страницу для русскоязычной аудитории, то мы бы не рекомендовали в точности следовать данному совету автора. Дело в том, что не следует использовать символы кириллицы непосредственно в коде. Более правильно передавать символы кириллицы через переменную. Например, объявите переменную $page_title в вашем файле и присвойте ей требуемое значение через языковые файлы вашего форума:$page_title = $user->lang['ABOUTUS']; page_header($page_title); Учтите, что в языковый файл, например, /ru/common.php, вам нужно добавить соответствующую языковую переменную:' 'ABOUTUS' => 'О нас', Кстати, данный способ позволит вам и в файле шаблона использовать ту же языковую переменную: <h2>{L_ABOUTUS}</h2>И при желании вы сможете легко менять её содержание, изменяя только языковый файл:' 'ABOUTUS' => 'О нас и не только!',И помните, phpBB - это просто! Оригинал статьи: http://www.phpbb.com/kb/article/add-a-new-custom-page-to-phpbb/ |