Topic: Структура ядра PunBB и PunBB стилей
Здравствуйте. Расскажите о основных и дополнительных (необязательных) файлах стиля punBB, включая структуру файлов и папок.
Шапка:
.
..
...
Контентная часть:
.
..
...
Сайтбар:
.
..
...
Подвал:
.
..
...
You are not logged in. Please login or register.
Здравствуйте. Расскажите о основных и дополнительных (необязательных) файлах стиля punBB, включая структуру файлов и папок.
Шапка:
.
..
...
Контентная часть:
.
..
...
Сайтбар:
.
..
...
Подвал:
.
..
...
По умолчанию основной шаблон подключается из
/header.php
Вот часть кода, которая подключает шаблон main.tpl
// Load the main template
if (substr(FORUM_PAGE, 0, 5) == 'admin')
{
if ($forum_user['style'] != 'Oxygen' && file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/admin.tpl'))
$tpl_path = FORUM_ROOT.'style/'.$forum_user['style'].'/admin.tpl';
else
$tpl_path = FORUM_ROOT.'include/template/admin.tpl';
}
else if (FORUM_PAGE == 'help')
{
if ($forum_user['style'] != 'Oxygen' && file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/help.tpl'))
$tpl_path = FORUM_ROOT.'style/'.$forum_user['style'].'/help.tpl';
else
$tpl_path = FORUM_ROOT.'include/template/help.tpl';
}
else
{
if ($forum_user['style'] != 'Oxygen' && file_exists(FORUM_ROOT.'style/'.$forum_user['style'].'/main.tpl'))
$tpl_path = FORUM_ROOT.'style/'.$forum_user['style'].'/main.tpl';
else
$tpl_path = FORUM_ROOT.'include/template/main.tpl';
}
Суть в следующем, если в папке стилей нет файла main.tpl, то подключается основной из:
/include/template/main.tpl
<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="oldie ie6" <!-- forum_local -->> <![endif]-->
<!--[if IE 7 ]> <html class="oldie ie7" <!-- forum_local -->> <![endif]-->
<!--[if IE 8 ]> <html class="oldie ie8" <!-- forum_local -->> <![endif]-->
<!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- forum_head -->
</head>
<body>
<!-- forum_messages -->
<div id="brd-wrap" class="brd">
<div <!-- forum_page -->>
<div id="brd-head" class="gen-content">
<!-- forum_skip -->
<!-- forum_title -->
<!-- forum_desc -->
</div>
<div id="brd-navlinks" class="gen-content">
<!-- forum_navlinks -->
<!-- forum_admod -->
</div>
<div id="brd-visit" class="gen-content">
<!-- forum_welcome -->
<!-- forum_visit -->
</div>
<!-- forum_announcement -->
<div class="hr"><hr /></div>
<div id="brd-main">
<!-- forum_main_title -->
<!-- forum_crumbs_top -->
<!-- forum_main_menu -->
<!-- forum_main_pagepost_top -->
<!-- forum_main -->
<!-- forum_main_pagepost_end -->
<!-- forum_crumbs_end -->
</div>
<!-- forum_qpost -->
<!-- forum_info -->
<div class="hr"><hr /></div>
<div id="brd-about">
<!-- forum_about -->
</div>
<!-- forum_debug -->
</div>
</div>
<!-- forum_javascript -->
</body>
</html>
Если посмотреть на шаблон, то можно заметить, что сайт делится на 2 части: шапка и контент. В качестве футера идет часть: <!-- forum_about -->.
А сайдбар это совсем отдельная тема, чтобы его подключить пришлось немного почесать затылок так как изначально в punbb сайдбар видимо не планировался.
Возможно ли получить примерно следующее:
Я хочу понять punBB, и научиться его редактировать на интуитивно понятном уровне. Да и другим, таким же как и я участникам, будет интересно и полезно знать структуру, обозначение и предназначение. Спасибо.
viewforum.php - отвечает за отображение разделов форума
viewtopic.php - отвечает за отображение топиков
userlist.php - формирует и выводит список пользователей
search.php - поиск по форуму
rewrite.php - отвечает за подключение URL схемы
register.php - этот файл отвечает за регистрацию посетителей
login.php - соответственно авторизация пользователей
profile.php - ваш профиль, включает несколько вкладок пользователя
post.php - этот файл добавляет темы и сообщения в базу данных
moderate.php - модерация тем и сообщений
misc.php - выводит различные сервисные сообщения: правила форума, подписки, отправка формы на емейл и т.п
index.php - главная страница форума, формирование категорий
help.php - помощь по использованию bbcode и смайликов
header.php - файл выводит информацию в области HEAD, подключает шаблоны, стили
footer.php - подключает и выводить JS скрипты, копирайт, прыжок по форуму
extern.php - этот скрипт используется для включения информации о вашем форуме от страницы за пределами форумов и формирование новостей о последних обсуждениях через RSS / Atom / XML. Скрипт может отображать список недавние обсуждения, список активных пользователей или коллекция общая статистика форума.
edit.php - редактирование тем и сообщений
delete.php - удаление тем и сообщений
Это основные файлы, если что упустил, то поправьте.
▼Spoiler
Все эти файлы являются обязательными, или среди них есть дополнительные?
$matches[2]
А по стилям, распишите?
Это основные которые выводят информацию.
В ядре большинство файлов системные, которые содержат функции, подключения к базе данных, парсеры, установка punbb, и мн.др.
По стилям все проще. К примеру если взять Oxygen, то вначале идет подключение файла:
/Oxygen/Oxygen.php.
Затем, этот файл подключает все требуемые стили и скрипты.
<?php
// Подключает файл скриптов для раскрывающегося меню для мобильных устройств
$forum_loader->add_js($base_url. '/style/Oxygen/responsive-nav.min.js', array('weight' => 55, 'async' => false, 'group' => FORUM_JS_GROUP_SYSTEM));
// Подключает сжатый файл стилей Oxygen.min.css
$forum_loader->add_css($base_url.'/style/Oxygen/Oxygen.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));
// Формирование меню
if (isset($tpl_main)) {
$tpl_main = str_replace('<!-- forum_board_title -->', forum_htmlencode($forum_config['o_board_title']), $tpl_main);
$tpl_main = str_replace('<!-- forum_lang_menu_admin -->', $lang_common['Menu admin'], $tpl_main);
$tpl_main = str_replace('<!-- forum_lang_menu_profile -->', $lang_common['Menu profile'], $tpl_main);
}
Так же как уже говорилось выше могут присутствовать файлы mail.tpl & admin.tpl для формирования своей структуры форума.
Директория fonts для подключения шрифтов.
Некоторые стили могут содержать директории /image/ или /img/ для подключения картинок. Кто то кидает изображения прямо в корень директории.
В Oxygen изображения закодированы в файле Oxygen.min.css. Существуют спец сервисы для конвертации изображений, это позволяет немного быстрее подгружать картинки. К примеру, одна из них это RSS.
Для старых осликов присутствуют файлы типа Oxygen_ie6.css, Oxygen_ie7.css и Oxygen_ie8.css, возможно кто то еще пользуется этими браузерами.
Это основные принципы, но начинка зависит от ваших предпочтений и фантазии.
Так, это интересней.
Давайте разложим Oxygen в качестве примера по полочкам.
Папка стиля Oxygen содержит:
Папка font - Хранит используемые шрифты стиля
admin.tpl - шаблон админки
index.html - заглушка
main.tpl - основной шаблон просмотра главной, список категорий и топиков
Oxygen.min.css - файл стилей
Oxygen.php - основной файл темы подключаемый файлы стилей и js скриптов
Oxygen_ie6.css - Содержит ряд правок и параметров, для верного отображения стиля в старых версиях браузеров.
Oxygen_ie7.css - Содержит ряд правок и параметров, для верного отображения стиля в старых версиях браузеров.
Oxygen_ie8.css - Содержит ряд правок и параметров, для верного отображения стиля в старых версиях браузеров.
responsive-nav.min.js - отвечает за выпадающее меню на мобильных версиях
Какую информацию хранят, и за что отвечают файлы под знаком вопроса?
Generated in 0.049 seconds (68% PHP - 32% DB) with 26 queries