- Compatibilité XF
- 2.3.x
- 2.2.x
- Description courte
- Create custom PHP pages with or without XF layout using this add-on. Access XF engine functions like sessions and permissions. Customize head tags, titles, content, and more per page for enhanced user experience. No restrictions on script location; flexible configuration options available.
Cette add-on permet de créer autant de pages PHP personnalisées avec ou sans le layout XF.
Une page personnalisée a accès aux fonctions de l'engine XF, notamment les sessions et les permissions.
Toutes les pages personnalisées sont des scripts PHP individuellement configurables ; une connaissance en PHP est requise.
Un script de page personnalisée peut être placé au-dessus, en dessous ou à l'intérieur du répertoire d'installation XF, sans restriction.
Vous pouvez configurer librement les éléments suivants sur un par un :
- Les items <head> personnalisés au-dessus des défauts de XenForo (probablement provenant d'un script externe)
- Le titre de la page personnalisée
- Le contenu de la page personnalisée
- Si le contenu supérieur doit être entouré du layout XF
- Si les balises meta sociales de XF doivent être incluses pour les prévisualisations des contenus sur les réseaux sociaux
- Si les balises de racines doivent être affichées
Instructions d'installation
- Installer l'addon (un paquet d'addons sans fichiers supplémentaires)
- Copier le script sample.php et nommer-le comme vous voulez
- Mettre la valeur du constant XF dans le script sur le répertoire de votre installation XF ; la valeur par défaut est DIR
- Définir les variables $head et/ou $content
- Adapter les paramètres \ScriptsPages\Setup::set (en dessous), l'installation est terminée
Exemple (sample.php)
Instructions critiques
Comment définir des paramètres externement
Pour définir n'importe quel paramètre ci-dessus à partir d'un script externe, définissez la constante PHP SCRIPT_PAGE_{KEY} avant de charger XenForo, c'est-à-dire.
Une page personnalisée a accès aux fonctions de l'engine XF, notamment les sessions et les permissions.
Toutes les pages personnalisées sont des scripts PHP individuellement configurables ; une connaissance en PHP est requise.
Un script de page personnalisée peut être placé au-dessus, en dessous ou à l'intérieur du répertoire d'installation XF, sans restriction.
Vous pouvez configurer librement les éléments suivants sur un par un :
- Les items <head> personnalisés au-dessus des défauts de XenForo (probablement provenant d'un script externe)
- Le titre de la page personnalisée
- Le contenu de la page personnalisée
- Si le contenu supérieur doit être entouré du layout XF
- Si les balises meta sociales de XF doivent être incluses pour les prévisualisations des contenus sur les réseaux sociaux
- Si les balises de racines doivent être affichées
Instructions d'installation
- Installer l'addon (un paquet d'addons sans fichiers supplémentaires)
- Copier le script sample.php et nommer-le comme vous voulez
- Mettre la valeur du constant XF dans le script sur le répertoire de votre installation XF ; la valeur par défaut est DIR
- Définir les variables $head et/ou $content
- Adapter les paramètres \ScriptsPages\Setup::set (en dessous), l'installation est terminée
Exemple (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);
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
'content' => null, // the page content; this is required
'raw' => false // whether or not to remove the XenForo layout
]
Pour définir n'importe quel paramètre ci-dessus à partir d'un script externe, définissez la constante PHP SCRIPT_PAGE_{KEY} avant de charger XenForo, c'est-à-dire.
Code:
define('SCRIPT_PAGE_CONTENT', '<b>Hello world</b>');