Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

сундучок для IP.Board

  • записей
    11
  • комментария
    54
  • просмотра
    83972

Пользовательские страницы на IP.Board 3

Ph-A

1074 просмотра

Иногда на форуме требуется создание индивидуальных статических страниц, сохраняя оформление форума. Для этого советуют использовать (DP31) Custom Pages или IP.Content. Это оправдано, когда пользовательские страницы необходимо в определенном количестве. Для одной одной или двух страниц, покупать IP.Content или разбирается с (DP31) Custom Pages не совсем оправданно.

 

Есть два способа быстрого создания таких страничек. Правильный способ, через регистрацию своего приложения через административную панель но есть другой "неправильный" способ. Быстрый и простой.

Для начала рассмотрим неправильный способ.

 

Стоит задача сделать свою страницу по адресу "ваш форум/MyCustomPage/". Создаем папку MyCustomPage. В папку кладем файл, например index.php со следующим содержанием:

 

<?php
define( 'IPB_THIS_SCRIPT', 'public' );
require_once( '../initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$registry = ipsRegistry::instance(); 
$registry->init();
$registry->output->setTitle('Ваше название'); 
$registry->output->addContent('Ваш контент');  
$registry->output->sendOutput();
?>

 

'Ваш контент' - содержание вашей страницы. Здесь может быть любой текст или простой html код. Главное что бы в нем не присутствовала одиночная кавычка ( ' ).

 

Если код html сложный, используется пользовательский CSS и javascript, то в $registry->output->addContent('Ваш контент') меняем 'Ваш контент' на переменную $content.

$content может содержать массив, результат из базы данных или другие данные.

 

Получаем следующий пример.

 

<?php

define( 'IPB_THIS_SCRIPT', 'public' );
require_once( '../initdata.php' );

require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );

$content        = <<<BLK

Ваш контент 

BLK;

$registry = ipsRegistry::instance(); 
$registry->init();
$registry->output->setTitle('Название'); 
$registry->output->addContent($content);  
$registry->output->sendOutput();
?>

 

Здесь $content информация которая находится в блоге между BLK.

 

Ваша первая "Пользовательские страница" на IP.Board 3 готова. Осталось поместить ее в меню: Добавление своих ссылок в верхнее меню форума IPB 3.0

 

Важно: ссылка на вашу страницу, должна быть полной. Если вы создали файл index.php в папке MyCustomPage, то короткая ссылка "ваш форум/MyCustomPage/" вызовет ошибку. А ссылка "ваш форум/MyCustomPage/index.php" откроет нужную страницу.

 

Название папки и имя файла может быть произвольным.

 

Источник: community.invisionpower.com и моя обработка полученных знаний :)

 

Продолжение: Регистрируем персональные страницы для IP.Board 3

  • Upvote 5


13 комментариев


Рекомендованные комментарии

Вот живой пример :)

 

Кроссворд на форуме.

 

Удалите если расцените как рекламу.

 

 

И вопрос.

 

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

 

"Смотрит главную страницу" ? - это реально подправить? скажем на "играет в кроссворд".

  • Upvote 2

Поделиться комментарием


Ссылка на комментарий

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

 

"Смотрит главную страницу" ? - это реально подправить? скажем на "играет в кроссворд".

Не смотрел. Смотрел как на очень простой инструмент создание пользовательской странице.

 

Скорее всего, для полноценного функционала нужен другой способ, через регистрацию страницы в АЦ. Напишу позже, как и что.

Здесь же форум нечего "не знает" о новых страницах

  • Upvote 1

Поделиться комментарием


Ссылка на комментарий

А можно ли закрыть страницу от гостей? Чтобы они не могли ее просматривать.

Поделиться комментарием


Ссылка на комментарий

Можно все. Как закрыть ссылку на эту страницу, так для гостей сделать вывод пустой странице или другого контента

Поделиться комментарием


Ссылка на комментарий
Гость sergey_webdok

Опубликовано:

Здравствуйте, проделал всё по инструкции, контент выводится, но используется не тот шаблон. По-умолчанию стоит шаблон css_3 (он третий по списку, ставлю его по-умолчанию, нажимаю Ок и после мне пишет, что обновлены файлы в папке css_3), а стили берутся для созданной страницы из папки css_1 (смотрю уже файербагом по факту). Может это через константу какую можно установить, какой шаблон использовать для страницы?

Поделиться комментарием


Ссылка на комментарий

создание пользовательских страниц (для версии 3.4.6):

 

создать файл .php в корне сайта или в отдельной директории

 

<?php

define( 'IPB_THIS_SCRIPT', 'public' );
require_once( 'initdata.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsRegistry.php' );
require_once( IPS_ROOT_PATH . 'sources/base/ipsController.php' );
require_once( IPS_ROOT_PATH . 'sources/base/darkLAE.php' );

$content        = <<<BLK

Ваш контент 

BLK;

$registry = ipsRegistry::instance(); 
$registry->init();
$registry->output->setTitle('Название'); 
$registry->output->addContent($content);  
$registry->output->sendOutput();
?>

 

при этом надо учитывать условный путь до initdata.php, например:

 

если файл в корне сайта, то

require_once( 'initdata.php' );

 

если в папке, то

require_once( '../initdata.php' );

 

Способ годиться для 1-2 страниц.

Для большого количества страниц рекомендуется использовать соответствующее приложение (Pages, EasyPages)

Если размещаете файл в отдельной созданной директории (например сайт/папка/файл.php), то обзовите его index.php (в папке должен обязательно присутствовать файл index, можно просто пустой index.html, для защиты директории от посторонних глаз).

 

Проверено на 3.4.6 rus

  • Upvote 1

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...