Theme editor

[vbresults.com] Custom PHP Pages

| XF 2.3 ADD-ON (VIP) [vbresults.com] Custom PHP Pages 1.2.2

No permission to download
💾 Resources submitted by: The Master • 💬 Posts: 526 • 🏆 Points: 93 • 👍 Likes: 8 • ⬆️ Resources: 469
Version
1.2.2
Views
1
Downloads
0
File size
24 KB
Extension type
.zip
Ratings
0.0 (0)
Language
English
Compatible XF 2.x versions
  1. 2.0
  2. 2.1
  3. 2.2
  4. 2.3
Additional requirements
PHP 7.1+
This add-on allows creating any number of custom PHP pages with or without the XF layout.
A custom page has access to the XF engine's functions, including sessions and permissions.

All custom pages are their own PHP script with individual configuration; PHP knowledge is required.
A custom page script can be above, below or within the XF install folder, no restrictions.

You can optionally configure any of the following items on a per-page basis:
  • The custom <head> tag items on top of XenForo's defaults (presumably from an external script)
  • The custom page title
  • The custom page content
  • Whether or not to wrap above content in the XenForo layout
  • Whether or not to include XF's social meta tags for social media content previews
  • Whether or not to show breadcrumbs, and what breadcrumbs to show
  1. Under Admin > Add-ons > Install/upgrade from archive, import/install the attached add-on zip
  2. Make a copy of sample.php script and name it whatever you want
  3. Point the script's XF constant value to your XenForo install folder; the default is DIR
  4. Set the $head and/or $content variables
  5. Adjust the \ScriptsPages\Setup::set parameters (below), and installation is complete

PHP:
Expand Collapse Copy
<?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';

$_SERVER['SCRIPT_NAME'] = __XF__ . '/index.php';
$_SERVER['REQUEST_URI'] = preg_replace("|^" . preg_quote(preg_replace('|(/+)$|', '', $_SERVER['DOCUMENT_ROOT'])) . "|", '', __XF__ . '/index.php');

XF::start(__XF__);

$app = \XF::setupApp('XF\Pub\App');
// $app->start(); // comment out for 2.3+
$request = $app->request();

\ScriptsPages\Setup::set('init', true);

// 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:
Expand Collapse Copy
[
    '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
]

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

PHP:
Expand Collapse Copy
define('SCRIPT_PAGE_CONTENT', '<b>Hello world</b>');
AndyB Post notice
| XF 2.3 ADD-ON (VIP) AndyB Post notice 1.4
Search Improvements
| XF 2.3 ADD-ON (VIP) Search Improvements 2.19.0
Brief description:
This add-on allows creating any number of custom PHP pages with or without the XF layout. A custom [vbresults.com] Custom PHP Pages
1.2.2
Version
0
Downloads
1
Views
First release
Last update
24 KB
File size
zip
Extension type
0.00 star(s) 0 ratings
Ratings
Uploader
Uploaded
Available Tags:
  • Tags Tags
    None
  • More resources from The Master

    Similar content Most view View more
    Back
    Top