Joomla! 1.5 : Utiliser son framework
Ça fait un petit moment que je n’ai pas écrit d’article, il est donc temps de reprendre le pied ! (J’avoue qu’avec les vacances ça facilite les choses !).
Aujourd’hui nous allons donc voir comment utiliser le framework de Joomla! 1.5. Je ne vais pas me lancer dans un étalage complet du framework mais plutôt du strict minimum, indispensable pour hacker, ou même créer des modules ou composants.
1. Se connecter à la base de données
Rien de plus simple, il faut créer une instance de la class JFactory :
$database = &JFactory::getDBO();
2. Exécuter une requête (insertion de données dans la base)
Maintenant que nous avons notre objet $database il suffit d’appeler la méthode setQuery pour déterminer la requête à éxécuter :
//j'insère dans la table users et dans le champ username, le pseudo TOTO.
$database->setQuery("INSERT INTO #__users (`username`) VALUES ('TOTO')");
#__users est en fait jos_users dans ma base de données, mais Joomla! reconnait #__ comme étant le préfixe de vos tables (le mien est jos, mais le votre peut être différent, cela permet donc à Joomla! de s’adapter quelque soit le préfixe de vos tables).
Puis on éxécute la requête :
$database->query();
3. Exécuter une requête (sélection de données dans la base)
C’est bien beau d’insérer des données dans la base, mais il est parfois utile de récupérer des données, c’est très simple encore une fois, toujours avec le même objet, il suffit d’appeler la méthode setQuery encore une fois (cette fois je met la requête dans une variable, que j’appelle dans la méthode setQuery :
$query = "SELECT username FROM #__user WHERE id=1"; //Je sélectionne le pseudo où le champs id vaut 1 $database->setQuery($query); //J'exécute la requête
Ensuite on traite les données récupérées pour en faire quelque chose (par exemple dans ce cas précis, les afficher) :
echo $database->LoadResult(); //Ce qui écrira toto si l'utilisateur avec l'id 1 dans ma base s'appelle toto
Par contre si vous faites une requête qui renvoie plusieurs résultats vous devez appeler la méthode loadObjectList :
$query = "SELECT * FROM #__categories"; //On prépare la requête $database->setQuery($query); //On éxécute la requête $rows = $database->loadObjectList(); //On charge les résultats de la requête dans l'objet $rows
foreach ($rows as $row) {
echo $row->title ." : ". $row->description."<br />"; //On affiche le titre de chaque catégorie et sa description
}
Et voilà vous avez les cartes en main pour effectuer des choses simples dans Joomla! 1.5 en utilisant son Framework et donc en limitant les failles de sécurités.
Pour toutes questions ça se passe à la suite de l’article dans les commentaires.
Enjoy !
| Imprimer l'article | Cette entrée a été posté par benny le 26 septembre 2010 à 22 h 47 min, et placée dans Tutoriaux. Vous pouvez suivre les réponses à cette entrée via RSS 2.0. Vous pouvez laisser une réponse, ou bien un trackback depuis votre site. |


about 2 years ago
Excellent tuto, qui m’a permis d’éviter de me prendre la tête plus longtemps sur un script ! Merci !