Custom PHP Pages

Скачать Custom PHP Pages
Недавно искали:

Itnull

Команда форума
Администратор
Регистрация
22.05.13
Сообщения
25.426
Реакции
9.390
Веб-сайт
itnull.me
  • Автор темы
  • Администратор
  • Модер.
  • Команда форума
  • #1
Совместимые версии XF 2.1, 2.2, 2.3

Это дополнение позволяет создавать любое количество пользовательских страниц PHP с макетом XF или без него.
Пользовательская страница имеет доступ к функциям движка XF, включая сеансы и разрешения.

Все пользовательские страницы представляют собой собственный PHP-скрипт с индивидуальной настройкой; Знание PHP обязательно.
Сценарий пользовательской страницы может находиться выше, ниже или внутри папки установки XF, без ограничений.

При желании вы можете настроить любой из следующих элементов для каждой страницы:

Пользовательские элементы тега заголовка поверх значений по умолчанию XenForo (предположительно из внешнего скрипта)
Пользовательский заголовок страницы
Пользовательское содержимое страницы
Следует ли переносить вышеуказанный контент в макет XenForo.
Включать или нет социальные мета-теги XF для предварительного просмотра контента в социальных сетях.
Показывать ли хлебные крошки и какие хлебные крошки показывать

Инструкции по установке

Установите zip-файл дополнения (это дополнительный пакет без дополнительных файлов)
Сделайте копию скрипта sample.php и назовите его как хотите.
Укажите постоянное значение XF скрипта в папку установки XenForo; по умолчанию — КАТАЛОГ
Установите переменные $head и/или $content.
Настройте параметры \\ScriptsPages\\Setup::set (ниже), и установка завершена.

Пример (sample.php)
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);
Parameters
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
]

How to set parameters externally
To set any parameter above from an external script, define the PHP constant SCRIPT_PAGE_{KEY} prior to loading XenForo, i.e.

PHP:
define('SCRIPT_PAGE_CONTENT', '<b>Hello world</b>');


Custom PHP Pages 1.1.5
 
Назад
Сверху Снизу