1

Topic: Как на форуме PanBB создавать свои страницы

Иногда требуется создать свою страницу на форуме PunBB, чтобы вывести прайс, контакты, форму обратной связи или перечень услуг, цели могут быть разные.

How to create a page on a forum PunBB

Это решение на примере создания отдельной страницы из файла php. Итак, создайте файл в корне форума с произвольным именем, например:
viewpage.php

В самом начале определяем директорию форума по отношению корневой:

//directory
if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');

Подключаем файл всех функций и настроек. Без него наш файл не загрузится.

//include all functions and options
require FORUM_ROOT.'include/common.php';

Чтобы ваша созданная страница смогла попасть в индекс поисковиков, откройте индексацию присвоив значение 1 константе FORUM_ALLOW_INDEX
Добавьте в файл:

define('FORUM_ALLOW_INDEX', 1);

подключаем меню форума,  область <head>, метатеги и стили

//include header
require FORUM_ROOT.'header.php';

Формируем на странице ее структуру. В теге <h2> можно указать заголовок страницы. Будьте внимательны, на страницах отключен перевод строки </br>, поэтому можно использовать тег параграфа <p>

// START SUBST - <!-- forum_main -->
ob_start();

?>  <div class="main-head">
    <h2 class="hn"><span>Как создать свою страницу на форуме PunBB</span></h2>
  </div>
  <div class="main-content main-message">
    <p>Создать страницу на форуме PunBB очень просто.</p>
    <p>Просто создайте файл с произвольным именем и вствьте этот код в свою страницу.</p>
  </div>
<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->

И в самом конце страницы подключаем футер (скрипты, копирайты и т.п)

require FORUM_ROOT.'footer.php';

Вот так можно создать простую. страницу на форуме punbb

2 (edited by PunBB 2016.04.12 14:09)

Re: Как на форуме PanBB создавать свои страницы

Так же было бы правильным добавить хлебные крошки и <title> страницы.

Добавляем навигацию для своей страницы.
Просто вставьте этот код сразу после подключения файла
require FORUM_ROOT.'include/common.php';

// Setup breadcrumbs
$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Тема: Как создать свою страницу на форуме PunBB'
);

После этого <meta name="description" и <title> появятся, можно убедиться в этом посмотрев исходный код страницы.

3

Re: Как на форуме PanBB создавать свои страницы

PunBB wrote:

В самом начале определяем директорию форума по отношению корневой:

PunBB, а как сделать страницы внутри папки. вот к примеру, я делаю категорию, создав папку: О нас

а внутри этой папки forum/about/ положил несколько файлов,  разных. только, что то не подключается ни один. почему так?

Если вас никто не критикует – значит успеха вы еще не добились.

4

Re: Как на форуме PanBB создавать свои страницы

YT007 wrote:

а внутри этой папки forum/about/ положил несколько файлов,  разных. только, что то не подключается ни один. почему так?

определить корневую директорию

//directory
if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', '../../');

5 (edited by serega-b-venger12 2017.10.05 20:42)

Re: Как на форуме PanBB создавать свои страницы

Знатоки подскажите где именно я могу прописать структуру моего нового дизайна. Именно это:

<body topmargin="0" rightmargin="0" leftmargin="0" bottommargin="0">
<!-- body-header -->
<div id="brd_wrap">
<div id="brd-index" class="punbb">
<div id="html-header">
<div id="b_left"><div id="b_right"><div id="pun_wrap">

В общем мне нужно чтобы страница выглядела так

"patern_left" "content" "patern_rigth"

На бесплатном форуме у меня это получилось, а в двиге что-то никак не вкурю где и что пилить...https://punbb.info/uploads/images/2017/10/1f67fa403acaa856359b597a6b4468fe.png

6 (edited by PunBB 2017.10.05 20:44)

Re: Как на форуме PanBB создавать свои страницы

откройте сам шаблон /include/template/main.tpl и работайте с ним.

но если в самой теме есть свой шаблон main.tpl, то тогда с шаблоном темы

1

7

Re: Как на форуме PanBB создавать свои страницы

@PunBB, подкинь идею, как показать эту страницу только зарегистрированным пользователям  PunBB_INFO_ICQ/help

8

Re: Как на форуме PanBB создавать свои страницы

Обычно по такому принципу

if (!$forum_user['is_guest']) {

    // Показываем тут инфу только зарегестрированных

}

1

9

Re: Как на форуме PanBB создавать свои страницы

Здравствуйте. Я совсем недавно начал знакомство с PunBB, поэтому у меня очень много вопросов. Хочу добавить на форум правила. Создал в корне сайта файл pravila.php с таким кодом

//directory
if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');
  //include all functions and options
require FORUM_ROOT.'include/common.php';
define('FORUM_ALLOW_INDEX', 1);
//include header
require FORUM_ROOT.'header.php';
// START SUBST - <!-- forum_main -->
ob_start();

?>  <div class="main-head">
    <h2 class="hn"><span></span></h2>
  </div>
  <div class="main-content main-message">
    <p></p>
    <p></p>
  </div>
<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->
require FORUM_ROOT.'footer.php';
// Setup breadcrumbs
$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Тема: Правила');

Вывел кнопку на панель навигации из настроек. Но когда я нажимаю на нее у меня открывается страница с кодом

//directory if (!defined('FORUM_ROOT')) define('FORUM_ROOT', './'); //include all functions and options require FORUM_ROOT.'include/common.php'; define('FORUM_ALLOW_INDEX', 1); //include header require FORUM_ROOT.'header.php'; // START SUBST - ob_start(); ?>

Если можно, подскажите, как сделать правильно? И еще, как можно удалить с панели навигации не нужные на данный момент кнопки? Например, Подписки или Закладки... Заранее, огромное спасибо.

10

Re: Как на форуме PanBB создавать свои страницы

// Setup breadcrumbs
$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Тема: Правила');

Хлебные крошки вставьте сразу перед подключением хедера.

1

11

Re: Как на форуме PanBB создавать свои страницы

Спасибо за ответ. Но что то я неправильно, видимо, делаю. Крошки перед хедером вставил. Теперь вот так.

//directory if (!defined('FORUM_ROOT')) define('FORUM_ROOT', './'); //include all functions and options require FORUM_ROOT.'include/common.php'; define('FORUM_ALLOW_INDEX', 1); // Setup breadcrumbs $forum_page['crumbs'] = array( array($forum_config['o_board_title'], forum_link($forum_url['index'])), '����: �������'); //include header require FORUM_ROOT.'header.php'; // START SUBST - ob_start(); ?>

12

Re: Как на форуме PanBB создавать свои страницы

Скиньте сюда весь код полностью

1

13

Re: Как на форуме PanBB создавать свои страницы

//directory
if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');
  //include all functions and options
require FORUM_ROOT.'include/common.php';
define('FORUM_ALLOW_INDEX', 1);
// Setup breadcrumbs
$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Тема: Правила');
//include header
require FORUM_ROOT.'header.php';
// START SUBST - <!-- forum_main -->
ob_start();

?>  <div class="main-head">
    <h2 class="hn"><span></span></h2>
  </div>
  <div class="main-content main-message">
    <p></p>
    <p></p>
  </div>
<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->
require FORUM_ROOT.'footer.php';

14 (edited by PunBB 2020.03.14 17:55)

Re: Как на форуме PanBB создавать свои страницы

А если вставить с интерпретэтором PHP в начале:

<?php

if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');

require FORUM_ROOT.'include/common.php';
define('FORUM_ALLOW_INDEX', 1);

$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Topic: Rules');

require FORUM_ROOT.'header.php';
// START SUBST - <!-- forum_main -->
ob_start();

?>  <div class="main-head">
    <h2 class="hn"><span></span></h2>
  </div>
  <div class="main-content main-message">
    <p></p>
    <p></p>
  </div>
<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->
require FORUM_ROOT.'footer.php';

Код сохраните в кодировке utf-8

---------------------------------

А вам принципиально нужен отдельный файл для создания правил? В настройках движка уже есть спец страница для правил

2

15

Re: Как на форуме PanBB создавать свои страницы

Нет, не принципиально. Подскажите, пожалуйста, как ее добавить. Я не нашел информацию в интернете, поэтому и занялся с новой страницей.

16

Re: Как на форуме PanBB создавать свои страницы

Форум → Администрирование → Настройки → Регистрация, внизу поле: Правила форума

1

17

Re: Как на форуме PanBB создавать свои страницы

Спасибо. Сейчас вроде и эта страница заработала. Добавил текст, сохранил в utf-8, все открывается. Только крошки почему-то и вверху, и внизу. Так и должно быть?

18

Re: Как на форуме PanBB создавать свои страницы

eduard-kuznetsov wrote:

Только крошки почему-то и вверху, и внизу. Так и должно быть?

Да, на любом форуме так

1

19

Re: Как на форуме PanBB создавать свои страницы

@PunBB, кстати, не подскажешь по стилям? На своих страницах мобильная версия складывается коряво, приходится в столбик всю информацию  слева укладывать.

20 (edited by eduard-kuznetsov 2020.03.15 21:30)

Re: Как на форуме PanBB создавать свои страницы

Подскажите, пожалуйста, Error Page для форума тоже нужно отдельно создавать, а потом подключать? Как можно добавить на страницу 404 какое-нибудь изображение? Разместить в папке img, к примеру и прописать путь? А карту сайта?

21

Re: Как на форуме PanBB создавать свои страницы

@eduard-kuznetsov, посмотри как я делал: можешь в корень форума положить например с названием test.php и проверить как работает.

<?php
//directory
if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');
//include all functions and options
require FORUM_ROOT.'include/common.php';
// Setup breadcrumbs
$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Интерактивная карта погоды онлайн'
);
define('FORUM_ALLOW_INDEX', 1);
//include header
require FORUM_ROOT.'header.php';
// START SUBST - <!-- forum_main -->


?>  <div class="main-head">
    
    <h2 class="hn"><span>Интерактивная карта погоды онлайн.</span></h2>
  </div>
    <div class="main-content main-message">
        Интерактивная карта погоды в реальном времени + прогноз на трое суток.
        <p>
<iframe src="https://embed.windy.com/embed2.html?lat=55.279&lon=38.320&zoom=5&level=surface&overlay=temp&menu=&message=true&marker=&calendar=&pressure=&type=map&location=coordinates&detail=&detailLat=57.771&detailLon=27.751&metricWind=m%2Fs&metricTemp=%C2%B0C&radarRange=-1"width="100%" height="570" marginheight="0" frameborder="0"></iframe>
  </div>
 


<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->

require FORUM_ROOT.'footer.php';

1

22 (edited by eduard-kuznetsov 2020.03.16 20:21)

Re: Как на форуме PanBB создавать свои страницы

Круто! Спасибо! Я только имел в виду какое-нибудь статичное изображение и карту форума, с категориями, подкатегориями, темами и т.д. Как ее добавить в страницу 404?

23

Re: Как на форуме PanBB создавать свои страницы

@eduard-kuznetsov,
Все что находится между

<div class="main-head"> и закрывающим его </div> 

есть контент страницы, туда можно засунуть все что угодно и использовать все возмоные  html теги... только css в страницу совать наверное не стоит...
Ну и эти два класса не надо удалять, а просто написать свои заголовки

<h2 class="hn"><span>Интерактивная карта погоды онлайн.</span></h2>
  </div>
    <div class="main-content main-message">
        Интерактивная карта погоды в реальном времени + прогноз на трое суток.
        <p>

1

24

Re: Как на форуме PanBB создавать свои страницы

Спасибо, Вам, за ответ. Буду пробовать. По такой ситуации подскажите, если можно. Создал по образцу страницу для редиректа в телеграмм с таким кодом:

<? 
$site = $_GET['site']; 
sleep(5); // задержать выполнение сценария на 5 секунд
Header ("Location: $site"); 
exit();
?>

Как мне сюда добавить какую-то информацию для пользователей, чтобы вначале открывалась обычная страница с текстом, а через пять секунд перебрасывало в телеграмм? Пробовал вставлять html в код, но то ошибки появляются, то текст выводится, но не редиректит никуда... PunBB_INFO_ICQ/whipped

25

Re: Как на форуме PanBB создавать свои страницы

Редирект с задержкой может лучше сделать на html

<meta http-equiv="refresh" content="5;url=http://www.punbb.info/" />

1

26

Re: Как на форуме PanBB создавать свои страницы

Спасибо. Вставил код в страницу

<?php

if (!defined('FORUM_ROOT'))
  define('FORUM_ROOT', './');

require FORUM_ROOT.'include/common.php';
define('FORUM_ALLOW_INDEX', 1);

$forum_page['crumbs'] = array(
  array($forum_config['o_board_title'], forum_link($forum_url['index'])),
  'Переход по ссылке');

require FORUM_ROOT.'header.php';
// START SUBST - <!-- forum_main -->
ob_start();

?>  <div class="main-head">
    <h2 class="hn"><span></span></h2>
  </div>
  <div class="main-content main-message">
    <p>
<span style='background:white'>
<p>•   Тестовое сообщение.</p>
      <meta http-equiv="refresh" content="5;url=http://www.punbb.info/" />
  </div>
<?php

$tpl_temp = forum_trim(ob_get_contents());
$tpl_main = str_replace('<!-- forum_main -->', $tpl_temp, $tpl_main);
ob_end_clean();
// END SUBST - <!-- forum_main -->
require FORUM_ROOT.'footer.php';

Все отлично редиректит, только внизу страницы появляется простыня запросов. Можно ее как-нибудь отключить?

27

Re: Как на форуме PanBB создавать свои страницы

eduard-kuznetsov wrote:

Можно ее как-нибудь отключить?

Простыня запросов отключается в config.php

1

28

Re: Как на форуме PanBB создавать свои страницы

@eduard-kuznetsov, можно кстати весь чат телеграмма вставить для трансляции на форум через бота Journalist  прям вот в эту страницу что выше...