Wiki » Plugins » L'environnement
Avant de développer votre plugin, il est important de comprendre comment celui ci est intégré au sein d'OverCms, et plus généralement comprendre comment OverCms fonctionne. Nous allons donc voir comment un requête est traitée:
/nouveautes/
/index.php
, qui défini les constantes et charge les models (/app/model/
)/app/core/router.php
est inclus, et analyse la requête pour savoir quelle page est appelée/app/controller/page.php
/app/model/view.function.php
Il faut savoir que lorsque votre plugin sera appelé, vous ne devez faire que le nécessaire: votre plugin ne gère pas une page en entier, mais qu'une partie de celle ci, c'est pourquoi il est important de veiller à la qualité de celui ci pour qu'il s'intègre bien au sein de la page. C'est aussi pour cette raison que le framework Bootstrap est utilisé: vous n'avez qu'a utiliser les classes CSS et votre plugin sera dans le thème et les couleurs du reste de la page.
Le plus simple pour comprendre comment ces constantes fonctionnent, affichez les dans votre plugin (echo ROOT;
).
ROOT: Racine du site
HTTP_ROOT: Racine du site, précédé d'un slash. A utiliser pour faire un lien vers un fichier JS/CSS
PHP_ROOT: Racine PHP
IN_ADMIN: true si le script est exécuté dans le panel admin
Les constantes suivantes correspondent aux dossiers:
APP, CORE, DATA, CONTROLLER, MODEL, PACKAGE, VIEW, LANG, PLUGIN, FILES, AVATAR, INSTALL, TEMPLATE, ADMIN
SQL: ".sqlite.php"
CONFIG: ".cfg.php"
URL_REWRITE: true si l'URL Rewrite est activé
ABS_ROOT: Racine d'un lien en fonction de l'url rewrite. A utiliser pour faire un lien vers une page
MBSTRING: true si l'extension mbstring est activé
URL: url du site
GET: true si la requête est en GET
POST: true si la requête est en POST
POST_METHOD: contient la méthode ($_POST['method']), null
sinon
AJAX: true si la requête est faite via AJAX
REQUEST_PARENT: Si la page est dans un dossier, cette constante contient son slug
REQUEST_SLUG: Contient le slug de la page courante (sans son parent)
REQUEST_CURRENT: Contient le slug du parent + slug courant
REQUEST_ARGS: Contient ce que suit le slug de la page
KEY_LOW: Clé de 16 caractères, minuscules et nombres
KEY_MEDIUM: Clé de 32 caractères, minuscules, majuscules, nombres et quelques caractères spéciaux
KEY_HIGH: Clé de 64 caractères, toute sorte de caractères
Ces clés sont spécifiques au CMS, c'est à dire que les clés varient selon les CMS. Elles sont donc appropriés pour crypter des cookies ou des fichiers temporaires. Cependant l'utilisateur peut changer ces clés, donc ne les utilisez pas pour des mots de passe par exemple.
Les variables peuvent être insérée directement dans le code HTML, elles seront remplacés au moment d'afficher la page.
Une variable est sous ce format:
{TAG}
Liste des variables:
LANGUAGE: Langue
YEAR: Année courante
NAME: Nom du site
MAIL: Email
VERSION: Version du CMS
DESCRIPTION: Description
CURRENT_TEMPLATE: Thème utilisé
PAGE: Nom de la page
CURRENT_USER: Nom de l'utilisateur (peut être vide)
CURRENT_USER_PICTURE: Lien vers l'image de profile (n'est jamais vide)
ROOT: Constante ABS_ROOT (a utiliser pour les liens vers une page)
WEBROOT: Constante HTTP_ROOT (a utiliser pour les liens vers un fichier)
ASSETS: Lien vers le dossier assets du thème courant
Les variables suivantes sont des liens vers les pages associées:
URL_ROOT, URL_LOGIN, URL_REGISTER, URL_LOGOUT, URL_ACCOUT, URL_RECOVERY
Il existe beaucoup de fonctions disponibles pour vous aider et faciliter le développement, la liste se trouve ici:
Liste des fonctions.