1 (edited by PunBB 2019.05.18 15:09)

Topic: Структура ядра PunBB и PunBB стилей

Здравствуйте. Расскажите о основных и дополнительных (необязательных) файлах стиля punBB, включая структуру файлов и папок.

Шапка:

  • .
    ..
    ...

Контентная часть:

  • .
    ..
    ...

Сайтбар:

  • .
    ..
    ...

Подвал:

  • .
    ..
    ...

2 (edited by PunBB 2019.05.13 04:42)

Re: Структура ядра PunBB и 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_INFO_ICQ/scratch так как изначально в punbb сайдбар видимо не планировался.

3

Re: Структура ядра PunBB и PunBB стилей

Возможно ли получить примерно следующее:

Spoiler

style.css — файл таблицы стилей шаблона. Этот файл должен быть у любой темы, так как именно он отвечает за ее объявление, а так же может хранить дополнительную информацию: имя автора шаблона, версию шаблона, домашнюю страницу автора и т.д. Ну и, конечно же, прямое назначение — это все CSS стили.

index.php — файл отвечает за отображение главной страницы WordPress шаблона. При верстке своего макеты всегда помните, что главная страница может быть как статичной, так и динамичной.

single.php — файл, отвечающий за вывод каждого отдельного поста вашей темы. В качестве примера можно привести данную статью, которую вы читаете.

page.php — файл отвечает за формирование статичных страниц. Обычно это страницы: контакты, об авторе, о ресурсе и т.д.

header.php — формирует шапку сайта, и хранит в себе все важные метатеги для продвижения.

footer.php — файл отвечает за отображение подвала сайта.

sidebar.php — формирует отображение сайдбара или по-русски боковой колонки блога или сайта.

functions.php — файл, отвечающий за дополнительный функционал шаблона. Например: вывод последних комментаторов на моем блоге формируется именно в этом файле.

comments.php — файл отвечает за отображение комментариев у шаблона.

404.php — отвечает за отображение страницы с 404 ошибкой.

search.php — файл, отвечающий за отображение страницы поиска.

Необязательные файлы. Но об их существовании нужно знать.
category.php — файл отвечает за отображение анонсов в категориях (если файла нет, то формирование осуществляется за счет файла index.php)

tag.php — файл отвечает за отображение анонсов на странице тегов (если файла нет, то формирование осуществляется за счет файла index.php)

taxonomy.php — файл отвечает за отображение анонсов на страницах таксономии (если файла нет, то формирование осуществляется за счет файла index.php)

author.php — файл отвечает за отображение анонсов статей определенного автора (если файла нет, то формирование осуществляется за счет файла index.php)

attachment.php — отвечает за вывод прикрепленного файла.

searchform.php — отвечает за формирование формы поиска.

Если в вашем шаблоне присутствуют файлы из не обязательного списка, то вы должны знать, они всегда имеют приоритет выше, чем файл index.php. Это можно объяснить тем, что index.php — это общий случай, а допустим tag.php — это уже частный. Те более конкретный, следовательно, его и нужно воспринимать.

Я хочу понять punBB, и научиться его редактировать на интуитивно понятном уровне. Да и другим, таким же как и я участникам, будет интересно и полезно знать структуру, обозначение и предназначение. Спасибо.

4

Re: Структура ядра 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 - удаление тем и сообщений

Это основные файлы, если что упустил, то поправьте.

1

5

Re: Структура ядра PunBB и PunBB стилей

PunBB wrote:
Spoiler

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 - удаление тем и сообщений

Это основные файлы, если что упустил, то поправьте.


Все эти файлы являются обязательными, или среди них есть дополнительные?

$matches[2]

А по стилям, распишите?

6

Re: Структура ядра PunBB и PunBB стилей

Это основные которые выводят информацию.
В ядре большинство файлов системные, которые содержат функции, подключения к базе данных, парсеры, установка 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, возможно кто то еще пользуется этими браузерами.

Это основные принципы, но начинка зависит от ваших предпочтений и фантазии. PunBB_INFO_ICQ/music

1

7 (edited by PunBB 2019.05.13 11:30)

Re: Структура ядра PunBB и PunBB стилей

PunBB wrote:

PunBB_INFO_ICQ/music

Так, это интересней.
Давайте разложим 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 - отвечает за выпадающее меню на мобильных версиях

Какую информацию хранят, и за что отвечают файлы под знаком вопроса?

8

Re: Структура ядра PunBB и PunBB стилей

См. обновленный выше пост  PunBB_INFO_ICQ/acute

1