Si aucun des éléments se trouvant dans cette documentation ne vous aide, référez-vous au forum et demandez de l'aide.
Cette documentation permet de rendre votre module compatible avec la version 4.1 de PHPBoost sans trop de modifications dans le code. Elle n'a pas pour but de le convertir en utilisant le modèle MVC et d'utiliser les nouvelles fonctionnalités. Effectuez les différentes étapes suivantes (peu importe l'ordre) pour mettre à jour votre module.
Le seul changement à effectuer dans le fichier
/module/config.ini pour rendre votre module compatible avec la nouvelle version est le paramètre "compatibility". Remplacez la valeur par
4.1.
Pensez également à mettre à jour le numéro de version de votre module pour plus de cohérence.
Si votre module fait appel au système de catégories, il faut changer l'appel à la classe
CategoriesManager en
DeprecatedCategoriesManager dans le fichier
/module/phpboost/ModuleCats.class.php :
Un nouveau système a été mis en place pour les liens dans l'administration. Ces liens apparaissent maintenant également sur le site à droite du fil d'ariane.
Pour le mettre en place, ajoutez la fonction suivante dans la classe du fichier
/module/phpboost/ModuleExtensionPointProvider.class.php (en remplaçant Module par le nom de votre module) :
Créez ensuite le fichier
/module/phpboost/ModuleTreeLinks.class.php (exemple pour le module download) :
La classe AdminModuleLink()
permet d'afficher des liens dans l'administration et sur le site pour les administrateurs.
La classe ModuleLink()
des liens uniquement sur la partie site (pas dans l'administration). Les limitations d'accès à ce lien sont définies dans le 3e paramètre.
Vous pouvez ensuite supprimer les liens
admin_links
dans
/module/lang/french/desc.ini (idem pour les autres langues).
L'API de pagination a été améliorée. Il faut faire des changements au niveau du code php et des templates pour l'utiliser parce-que l'ancienne API n'est plus supportée.
Si vous utilisiez la classe Pagination dans la version 4.0, veuillez maintenant passer à la nouvelle classe ModulePagination.
Remplacez l'ancienne déclaration de la pagination :
Par :
La variable
$number_elements
représente le nombre total d'éléments (généralement récupéré par une requête SQL avant) et la variable
$_NBR_ELEMENTS_PER_PAGE
représente le nombre d'éléments à afficher sur la page (généralement défini dans la configuration du module).
Remplacez également la limitation du nombre de page dans la requête SQL :
Par :
Remplacez l'appel à la pagination dans les templates
{PAGINATION} par :
La fonction
set_average_notes()
a été ajoutée dans la classe
Notation.
Initialisation de la notation :
Appel de la notation active (notation lors du clic) :
Appel de la notation statique (affichage uniquement) :
Il y a eu pas mal de changements dans le nom des classes CSS. La plupart du temps il suffit de remplacer le _ par un -. Référez-vous à la documentation des thèmes pour plus d'informations.
Les classes CSS
module-table,
row1,
row2 et
row3 ont été supprimées et le style des tableaux a été mis à jour pour respecter les standards.
Un tableau doit être de la forme :
La déclaration du pied de page se fait bien avant la déclaration du contenu, ce n'est pas une erreur. Les sections caption, thead et tfoot ne sont pas obligatoires. Le style des tableaux se personnalise dans les fichiers CSS du thème (voir la documentation sur les thèmes).
Les images des thèmes ont été remplacées par des icônes de la librairie
Font-Awesome.
Vous pouvez avoir un aperçu des différentes icônes utilisées dans les modules dans le module
bac à sable.
Principaux changements :
Remplacez :
Par :
Les boutons des formulaires doivent être mis à jour pour respecter la sémantique HTML5.
Remplacez :
Par :
Certaines parties des formulaires ont été mises à jour. Le plus gros changement consiste à remplacer les _ dans les noms des classes CSS par des -.
Remplacez :
Par :
Templates des pages
L'affichage des pages a été mis à jour pour respecter les standards HTML5.
Remplacez :
Par :
Remplacez les _ dans les noms des classes CSS par des -. Ce qui donne :