- Compatibilité XF
- 2.3.x
- 2.2.x
- Description courte
- Créez des pages PHP personnalisées avec ou sans le layout XF en utilisant cet addon. Accédez aux fonctions de l'engine XF comme les sessions et les permissions. Personnalisez les balises head, les titres, le contenu et plus encore par page pour une expérience utilisateur améliorée. Aucune restriction sur la position du script ; des options de configuration flexibles sont disponibles.
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>');