XenForo 2: Structure d'un addon #1

Mathieu ?

IT Officer @STATION F
Premium
Inscription
19 Novembre 2016
Messages
1 247
Réactions
1 460
Points
12 310
1521987217072.png


Bonjours a tous , on se retrouve aujourd'hui pour le début d'une petite serie de tutoriel sur le developpement d'un addon XenForo. Pour commencer est etre operationnel pour suivre tout les tutos n'oublier pas d'activer le mode debug de votre XenForo ( ).

Pour ce premier tutoriels vous retrouver 70% du tutoriel en anglais .​

Sommaire:
  • Creation de la structure de base d'un addon
  • Zoom sur addon.json
  • Zoom sur Setup.php
  • La hierarchie XenForo
  • Generation du rendue final

Creation de la structure de base d'un addon

Pour commencer nous allons generer automatiquement la base de notre addon grace a une ligne de commande. Pour ce faire ouvrer votre terminal et rendez-vous a la racine de votre XenForo, par la suite vous allez entrer la commande suivante:

php cmd.php xf-addon-create

Une serie de question va vous etres poser a laquelles vous devrez repondre:
  • Enter an ID for this add-on Ici vous allez entrer le dossier dans lequels seras votre addon suivis de son nom ForoAgency/TutoRG
  • Enter a title Ici vous allez entrer le nom de votre addon qui seras afficher dans l'ACP Tuto RG
  • Enter a version ID Ici nous allons renseigner le numero de version sous forme de chiffre decimal 10000
  • Enter a version string Ici c'est le nom de la version qui seras afficher dans l'ACP 1.0.0
  • Does this add-on supersede a XenForo 1 add-on? (y/n) Ici on nous demande si notre addon remplace un addon de la version 1 de xenforo n
  • Does your add-on need a Setup file? (y/n) Ici on nous demande si on a besoin d'un fichier Setup.php y
  • Does your Setup need to support running multiple steps? (y/n) Ici si vous avez mis oui au-dessus je vous conseille de mettre oui aussi ici y
Voila la structure de base de votre addon a etait creer elle ce trouve donc dans src/addons/ForoAgency/TutoRG

Zoom sur addon.json

Le fichier addon.json et le fichier qui va contenir toutes les informations sur votre addon dont la plupart ce retrouverons dans l'ACP. Nous allons maintenant rentrer en details dans ce fichier, voici de quoi est composer notre fichier uen fois generer par la commande utiliser precedement:

1521987231658.png

legacy_addon_id L'id de votre addon XF1
title Le titre de votre addon qui seras dans l'ACP
description Une courte description de votre addon qui seras par la suite afficher dans l'ACP
version_id La version de votre addon en decimal
version_string La version de votre addon qui seras afficher dans l'ACP
dev Le nom du développeur
dev_url L'url vers laquelle seras rediriger la personne qui click sur le dev
faq_url L'url vers laquelle seras rediriger la personne qui click sur FAQ
support_url L'url vers laquelle seras rediriger la personne qui click sur Support
extra_urls Un tableau de titre avec une url perso {"Demo":"https://induste.com"}
require C'est ici que vous aller mettre si besoin la version minimum de XenForo requise pour votre addon ou meme la version PHP requise etc
icon L'icon FontAwesome qui seras afficher dans l'ACP

Zoom sur Setup.php

Le fichier Setup.php est le fichier qui seras executer lors de l'installation, mise a jour et désinstallation de l'addon. Ce fichier contient des fonction fonctionnant en "step" c'est a dire que chaque fonction auras un ordre d'execution que l'on choisit. Voici un exemple de fichier Setup.php:

1521987241696.png

La hierarchie XenForo

Lors de la creation de vos addons XenForo impose une sorte de Norme a appliquer sur votre addon dans la facon de ranger vos fichier php. Cette norme est assez simple a retenir une fois connue, tout ce passant a la racine de votre addon:
  • Les controllers que vous creer devront etre sous cette forme Pub/Controller/ ou Admin/Controller/
  • Vos entitées devront etre sous cette forme Entity/
  • Vos repos devront etre sous cette forme Repository/
  • Vos templates devront etre sous cette forme _output/templates/public ou _output/templates/admin
  • A partir du moment ou vous etendez une class deja existante dans XenForo vous devrez faire comme au-dessus pour chaques type sauf que cette fois tout devras etre dans un dossier XF J'etends la class Forum je met donc ma class dans XF/Pub/Controller/Forum.php

Le rendue final

Et pour finir pour generer le rendue final de votre addon et pouvoir le release il vous suffit d'entrer la commande suivante a la racine de votre XenForo php cmd.php xf-addon:build-release ForoAgency/TutoRG. Et voila le zip ce trouveras dans le dossier _releases !​

C'est tout pour ce petit tutoriel et on ce retrouve tres vite pour le prochain tutoriel XenForo ! :dance:
 
Dernière édition:

Thomas

Modérateur
Inscription
3 Avril 2015
Messages
3 358
Réactions
2 293
Points
16 686
Voir la pièce jointe 113413

Bonjours a tous , on se retrouve aujourd'hui pour le début d'une petite serie de tutoriel sur le developpement d'un addon XenForo. Pour commencer est etre operationnel pour suivre tout les tutos n'oublier pas d'activer le mode debug de votre XenForo ( ).

Pour ce premier tutoriels vous retrouver 70% du tutoriel en anglais .​

Sommaire:
  • Creation de la structure de base d'un addon
  • Zoom sur addon.json
  • Zoom sur Setup.php
  • La hierarchie XenForo
  • Generation du rendue final

Creation de la structure de base d'un addon

Pour commencer nous allons generer automatiquement la base de notre addon grace a une ligne de commande. Pour ce faire ouvrer votre terminal et rendez-vous a la racine de votre XenForo, par la suite vous allez entrer la commande suivante:

php cmd.php xf-addon-create

Une serie de question va vous etres poser a laquelles vous devrez repondre:
  • Enter an ID for this add-on Ici vous allez entrer le dossier dans lequels seras votre addon suivis de son nom ForoAgency/TutoRG
  • Enter a title Ici vous allez entrer le nom de votre addon qui seras afficher dans l'ACP Tuto RG
  • Enter a version ID Ici nous allons renseigner le numero de version sous forme de chiffre decimal 10000
  • Enter a version string Ici c'est le nom de la version qui seras afficher dans l'ACP 1.0.0
  • Does this add-on supersede a XenForo 1 add-on? (y/n) Ici on nous demande si notre addon remplace un addon de la version 1 de xenforo n
  • Does your add-on need a Setup file? (y/n) Ici on nous demande si on a besoin d'un fichier Setup.php y
  • Does your Setup need to support running multiple steps? (y/n) Ici si vous avez mis oui au-dessus je vous conseille de mettre oui aussi ici y
Voila la structure de base de votre addon a etait creer elle ce trouve donc dans src/addons/ForoAgency/TutoRG

Zoom sur addon.json

Le fichier addon.json et le fichier qui va contenir toutes les informations sur votre addon dont la plupart ce retrouverons dans l'ACP. Nous allons maintenant rentrer en details dans ce fichier, voici de quoi est composer notre fichier uen fois generer par la commande utiliser precedement:


legacy_addon_id L'id de votre addon XF1
title Le titre de votre addon qui seras dans l'ACP
description Une courte description de votre addon qui seras par la suite afficher dans l'ACP
version_id La version de votre addon en decimal
version_string La version de votre addon qui seras afficher dans l'ACP
dev Le nom du développeur
dev_url L'url vers laquelle seras rediriger la personne qui click sur le dev
faq_url L'url vers laquelle seras rediriger la personne qui click sur FAQ
support_url L'url vers laquelle seras rediriger la personne qui click sur Support
extra_urls Un tableau de titre avec une url perso {"Demo":"https://induste.com"}
require C'est ici que vous aller mettre si besoin la version minimum de XenForo requise pour votre addon ou meme la version PHP requise etc
icon L'icon FontAwesome qui seras afficher dans l'ACP

Zoom sur Setup.php

Le fichier Setup.php est le fichier qui seras executer lors de l'installation, mise a jour et désinstallation de l'addon. Ce fichier contient des fonction fonctionnant en "step" c'est a dire que chaque fonction auras un ordre d'execution que l'on choisit. Voici un exemple de fichier Setup.php:


La hierarchie XenForo

Lors de la creation de vos addons XenForo impose une sorte de Norme a appliquer sur votre addon dans la facon de ranger vos fichier php. Cette norme est assez simple a retenir une fois connue, tout ce passant a la racine de votre addon:
  • Les controllers que vous creer devront etre sous cette forme Pub/Controller/ ou Admin/Controller/
  • Vos entitées devront etre sous cette forme Entity/
  • Vos repos devront etre sous cette forme Repository/
  • Vos templates devront etre sous cette forme _output/templates/public ou _output/templates/admin
  • A partir du moment ou vous etendez une class deja existante dans XenForo vous devrez faire comme au-dessus pour chaques type sauf que cette fois tout devras etre dans un dossier XF J'etends la class Forum je met donc ma class dans XF/Pub/Controller/Forum.php

Le rendue final

Et pour finir pour generer le rendue final de votre addon et pouvoir le release il vous suffit d'entrer la commande suivante a la racine de votre XenForo php cmd.php xf-addon:build-release ForoAgency/TutoRG. Et voila le zip ce trouveras dans le dossier _releases !​

C'est tout pour ce petit tutoriel et on ce retrouve tres vite pour le prochain tutoriel XenForo ! :dance:
Continue comme ça c'est du bon travail :)
 
Haut