<< Cliquez pour afficher la table des matières >> Navigation: For developers > Développer et connecter des plug-ins |
DataLife Engine fournit des mécanismes pratiques pour la connexion des modifications de scripts développés. Ces mécanismes assurent le fonctionnement des plug-ins après la mise à jour vers une nouvelle version du script, car ces mécanismes vous permettent de connecter les plug-ins sans modifier les fichiers du script. Vous devez ajouter la balise suivante pour connecter vos plug-ins:
{include file="engine/modules/mymod.php"}
Où engine/modules/ est le chemin d'accès au fichier de votre plug-in, et mymod.php est le nom du fichier connecté. Les fichiers plug-in standard de DataLife Engine sont situés dans ce dossier et nous vous recommandons d'utiliser ce dossier, mais ce n'est pas obligatoire et vous pouvez stocker le fichier dans n'importe quel autre dossier sur le serveur. La seule restriction de sécurité lorsque vous ajoutez le plug-in est qu'il ne doit pas y avoir de droits d'écriture (CHMOD 777) pour le dossier de ce fichier. Nous vous recommandons également d'utiliser des chemins relatifs lorsque vous connectez des plug-ins. DataLife Engine détecte automatiquement les chemins relatifs et connecte vos plug-ins en fonction des paramètres du script et des chemins où le script est installé. Ainsi, vous pouvez créer une instruction d'installation générique pour vos modifications.
Vous pouvez également connecter vos fichiers PHP de votre plug-in en leur donnant divers paramètres, tels que:
{include file="engine/modules/mymod.php?param=value1&variable2=value2"}
Grâce à ces caractéristiques de connexion, vous pouvez rendre vos modifications multifonctionnelles. Elles peuvent remplir divers rôles et fonctions dans différentes connexions. Les variables transmises sont disponibles dans votre plug-in en tant que $param et $variable2 respectivement
À partir de DataLife Engine 8.3, vous pouvez spécifier des balises de script de modèle comme paramètres des plug-ins. Par exemple, vous pouvez transférer l'ID de l'article comme paramètre à votre plug-in lorsque vous ajoutez ce qui suit au modèle d'article complet : {include file="engine/modules/mymod.php?param={news-id}"}. Note:Les paramètres transférés sont analogues aux paramètres GET. Par conséquent, lorsque vous choisissez des balises transférées, vous devez tenir compte des limites de la chaîne GET. En d'autres termes, vous ne pouvez pas transmettre le contenu de l'article complet en tant que paramètre
Vous pouvez également utiliser vos plug-ins pour remplacer le bloc principal où s'affichent toutes les actualités et les autres informations de base. Pour cela, vous devez utiliser cette balise en conjonction avec [aviable=section]text[/aviable] et [not-aviable=section]text[/not-aviable] La description des tags est en "Affichage des actualités sur les pages" ; section. Vous pouvez utiliser une liste de sections standard ou créer votre propre section du site Web, en la passant à l'URL du navigateur. Par exemple, vous souhaitez ajouter votre propre section aux sections standard du site Web pour afficher les informations de votre plug-in. Disons que vous voulez créer la FAQ. Pour cela, écrivez ce qui suit dans le fichier main.tpl:
[aviable=faq]{include file="engine/modules/mymod.php"}[/aviable]
[not-aviable=faq]{content}[/not-aviable]
Après cette connexion, la section de votre plug-in sera affichée à la place des nouvelles lors de l'accès à l'adresse: http://site.ru/index.php?do=faq
Une seule chose est nécessaire pour le travail de vos plug-ins et pour l'affichage des informations à l'endroit où vous avez situé cette balise. L'information doit être affichée en utilisant la balise echo fonction PHP. Prenons l'exemple d'un simple plug-in et de la sortie d'informations. Créons mymod.php avec le contenu suivant:
<?php
echo "Teste plug-in";
?>
Le texte suivant apparaîtra à l'endroit où vous l'ajoutez dans un modèle: Teste plug-in
La liste des variables et des classes DLE que vous pouvez utiliser dans votre plug-in, sans déclaration:
$is_logged - Contient des informations indiquant si le visiteur est un utilisateur autorisé ou un invité. Peut être vrai ou faux.
$member_id - Contient un tableau d'informations sur l'utilisateur autorisé, y compris toutes ses informations du profil.
$db - Classe DLE pour travailler avec la base de données.
$tpl - Classe DLE pour travailler avec des modèles.
$cat_info - Tableau contenant les informations relatives à toutes les catégories du site Web.
$config - Tableau qui contient les informations sur tous les paramètres du script.
$user_group - Array that contains the information about all the user groups and their settings.
$category_id - Contains the ID of the category that is viewed by the visitor.
$_TIME - Contient l'heure actuelle au format UNIX avec les biais définis dans les paramètres de votre script.
$lang - Table containing the text of the language pack.
$smartphone_detected - Contient des informations indiquant si l'utilisateur consulte le site Web depuis un smartphone ou depuis un navigateur standard. Peut être vrai ou faux.
$dle_module - Contient des informations sur la section du site que l'utilisateur est en train de consulter, ou les informations de do à partir de la barre d'URL d'un navigateur.
Warning: Votre module ne doit lire que les données de ces variables. Toute modification des valeurs de ces variables entraînera un dysfonctionnement des fonctions standard du script et un travail ultérieur incorrect.