- Совместимость с XenForo
- 2.1
- 2.2
- 2.3
- Видимый копирайт
- Да
Это дополнение позволяет создавать любое количество пользовательских страниц PHP с макетом XF или без него.
Пользовательская страница имеет доступ к функциям движка XF, включая сеансы и разрешения.
Все пользовательские страницы представляют собой собственный PHP-скрипт с индивидуальной настройкой; требуется знание PHP.
Сценарий пользовательской страницы может находиться над, под или внутри папки установки XF без ограничений.
Вы можете дополнительно настроить любой из следующих элементов для каждой страницы:
Параметры
Как задать параметры извне
Чтобы задать любой указанный выше параметр из внешнего скрипта, определите константу PHP SCRIPT_PAGE_{KEY} перед загрузкой XenForo, т.е.
Раскрытие информации: Это дополнение полностью функционально и получает обновления только в том случае, если / когда оно не работает из-за обновления core XF; в противном случае обновлений нет и поддержки нет.
Пользовательская страница имеет доступ к функциям движка XF, включая сеансы и разрешения.
Все пользовательские страницы представляют собой собственный PHP-скрипт с индивидуальной настройкой; требуется знание PHP.
Сценарий пользовательской страницы может находиться над, под или внутри папки установки XF без ограничений.
Вы можете дополнительно настроить любой из следующих элементов для каждой страницы:
- Пользовательские элементы тега <head> поверх элементов по умолчанию в XenForo (предположительно, из внешнего скрипта)
- Заголовок пользовательской страницы
- Содержимое пользовательской страницы
- Переносить ли вышеуказанный контент в макет XenForo или нет
- Включать или не включать социальные мета-теги XF для предварительного просмотра контента в социальных сетях
- Показывать ли панировочные сухари и какие панировочные сухари показывать
- Установите zip-файл дополнения (это дополнительный пакет без дополнительных файлов).
- Сделайте копию sample.php скрипта и назовите его как хотите
- Укажите постоянное значение XF скрипта в вашей папке установки XenForo; по умолчанию используется DIR
- Задайте переменные $head и / или $content
- Настройте параметры \ ScriptsPages \Setup::set (ниже), и установка будет завершена
PHP:
<?php
// Set PHP Reporting
error_reporting(E_ALL & ~E_NOTICE);
define('__XF__', __DIR__); // EDIT VALUE IF SCRIPT IS NOT IN XF FOLDER
require __XF__ . '/src/XF.php';
XF::start(__XF__);
\ScriptsPages\Setup::set('init', true);
$app = \XF::setupApp('XF\Pub\App');
$app->start();
$request = $app->request();
// EDIT BELOW to set the page's $head and/or $content; the code below is a sample
/** ob_start();
require_once __DIR__ . DIRECTORY_SEPARATOR . pathinfo(__FILE__, PATHINFO_FILENAME) . "-head.php";
$head = ob_get_contents();
ob_end_clean(); **/
/** ob_start();
require_once __DIR__ . DIRECTORY_SEPARATOR . pathinfo(__FILE__, PATHINFO_FILENAME) . "-content.php";
$content = ob_get_contents();
ob_end_clean(); */
// EDIT BELOW TO CONFIGURE
\ScriptsPages\Setup::set([
'breadcrumbs' => ['Item 1' => '/1', 'Item 2' => '/2', 'Item 3' => '/3'],
'head' => $head,
'content' => $content
]);
// STOP HERE
$app->run()->send($request);
Параметры
PHP:
[
'navigation_id' => null, // the navigation tab to highlight
'head' => null, // code to embed inside the <head> tag
'metadata' => true, // include social media meta tags like 'og:*' for social media previews
'title' => null, // the page title; if null, falls back to board title
'breadcrumbs' => true, // true to include breadcrumbs, false to not, or an array of [name => href, ...]
'content' => null, // the page content; this is required
'raw' => false // whether or not to remove the XenForo layout
]
Как задать параметры извне
Чтобы задать любой указанный выше параметр из внешнего скрипта, определите константу PHP SCRIPT_PAGE_{KEY} перед загрузкой XenForo, т.е.
PHP:
define('SCRIPT_PAGE_CONTENT', '<b>Hello world</b>');
Раскрытие информации: Это дополнение полностью функционально и получает обновления только в том случае, если / когда оно не работает из-за обновления core XF; в противном случае обновлений нет и поддержки нет.