Ce tutoriel va vous expliquer comment ajouter dans votre page d'accueil des éléments provenant de la base de donnée.
Nous allons prendre pour exemple la récupération d’éléments du module download.
Nous allons ajouter la fonction suivante dans le fichier
HomeCustomHomePageExtensionPoint.class.php du répertoire
/HomeCustom/PHPBoost.
Dans notre cas, nous allons récupérer les éléments de deux catégories.
Notre fonction
build_view doit contenir l’élément suivant :
Pour récupérer les données, nous devons réaliser une requête SQL :
Cette fonction permet de récupérer les éléments id, idcat, title, short_contents, timestamp, image de la table download ainsi que le login.
Une fois la base de données récupérer, nous faisons appel à une nouvelle fonction (que nous allons créer) pour traiter les données.
Toujours dans le fichier
HomeCustomHomePageExtensionPoint.class.php du répertoire
/HomeCustom/PHPBoost , nous allons ajouter la fonction suivante :
Pour rester assez simple, nous allons séparer le chaque élement dans un fichier HTML différent.
Nous allons faire appel au fichier
modules.tpl que nous allons créer par la suite.
Dans notre exemple, nous allons afficher les 3 premier élements (les 3 plus récents)
Pour récuperer les 3 plus anciens, il suffit de remplacer 'DESC' par 'ASC' dans la requête SQL
Nous allons parcourir tous les résultats (
foreach ($results as $row)), si on dépasse trois, on arrête (
if ($i >= 3) { break; } ).
On créer la référence du lien pour aller sur la page du module download (
$link = new Url ... )
On créer les différents élements pour l'affichage dans le code HTML avec comme nom '
item'
Enfin pour finaliser, on transmet toutes les donnés au tpl concerné
Bien sûr il est nécessaire de faire appel à la fonction build_view().
Ajouter dans la fonction get_view l'appel à la fonction build_view de la manière suivante :
Il vous suffit de créer le fichier
modules.tpl dans le répertoire
/HomeCustom/templates et d'y ajouter l'affiche que vous souhaitez avec le code CSS que vous souhaitez.
Chaque élément récupéré dans la base de donnée sera affiché de la manière précedente.
Finalement, il faut appeler ce second tpl dans le tpl principal
home.tpl
Pour cela, il suffit d'ajouter
dans le fichier
home.tpl à l'endroit souhaité.
Nous pouvons aussi utiliser simplement les flux disponible par PHPBoost. C'est beaucoup plus rapide en code, mais moins personnalisable.
Pour ce faire, il vous suffit :
- D'ajouter dans le fichier HomeCustomHomePageExtensionPoint.class.php la fonction suivante :
(Nous avons pris comme exemple l'ajout du flux des news.
Dans notre exemple, on récupère les 5 dernières news en excluant la dernière
- D'ajouter une appel à cette fonction dans build_view ou get_view si vous n'avez pas besoin de build_view:
- De créer votre fichier feed_news.tpl :
- Faire appel au nouveau tpl dans le home.tpl :