Imaginons un classement de documents par type de document : le formulaire de création / édition d’un document doit faire apparaître la liste déroulante des types de document disponibles. Pour ce faire, nous utilisions la méthode generateList, mais celle-ci est dépréciée dans la version 1.2.0.6311-beta. Voyons comment générer la liste déroulante avec la méthode find('list'). Lire la suite
Nous souhaiterions agrémenter notre application CakePHP d’un calendrier, pour présenter agréablement des données par ordre chronologique. Nous allons utiliser la classe SimpleCalendar et le composant SimpleCalendarComponent. Lire la suite
L’interaction avec l’utilisateur d’une application passe très souvent par l’affichage de messages d’erreur, d’avertissement ou de succès. CakePHP offre une gestion très simple de ce mécanisme en stockant des messages “flash” dans la session, grâce à la fonction setFlash() dans un Contrôleur et les affiche avec la fonction flash() dans une Vue. Voyons comment personnaliser cet affichage. Lire la suite
Ce tutorial est valable pour les offres d’hébergement mutualisé suivantes :
- 20 GP
- 60 GP
- 300 GP
- 90 PLAN
- 240 PLAN
- 720 PLAN
- MEDIA PLAN
- XXL PLAN
Lire la suite
Partons d’un site de e-commerce classique (bien sûr réalisé avec CakePHP), sur lequel nous souhaitons offrir au client la possibilité de télécharger sa facture au format PDF. Pour générer cette dernière, nous allons utiliser la librairie FPDF, qui s’avère être simple à utiliser et présente l’avantage d’être libre. Comment allons-nous procéder pour intégrer la librairie FPDF à notre application CakePHP ? Lire la suite
Un Contrôleur contient typiquement les actions classiques pour l’ajout, la modification, la suppression et la lecture d’un enregistrement. Il nous apparaît inutile de faire deux actions différentes pour l’ajout et la modification d’un enregistrement. Cela oblige à faire deux vues, alors qu’une seule suffit : soit nous affichons un formulaire vide pour un ajout, soit un formulaire prérempli pour une modification. Lire la suite
Lors du développement d’un site, nous voyons toutes les erreurs et les avertissements grâce à un niveau de debug réglé sur 2 dans {app}/config/core.php. Lors de la mise en ligne du site, nous mettons ce niveau à 0, les erreurs deviennent donc invisibles à l’utilisateur. Mais si une erreur SQL survient, cela peut fortement affecter le fonctionnement du site, et nous voulons en être averti immédiatement.
La classe Model possède une méthode de callback, “onError”, appelée automatiquement lorsqu’une opération sur la base de données produit une erreur. Nous allons se servir de cette fonction pour gérer efficacement une erreur SQL. Lire la suite
Imaginons une application de gestion de résultats sportifs : nous avons une table “equipes” et une table “rencontres”. La table “recontres” va comporter deux fois la clé primaire de la table “equipes” : equipe_locaux_id pour l’équipe locale et equipe_visiteurs_id pour l’équipe des visiteurs. Comment gérer cette association particulière dans CakePHP ? Lire la suite
CakePHP offre une réelle souplesse dans la gestion de l’URL Rewriting à condition d’utiliser des “routes” et de toujours définir les liens de la même façon. Lire la suite
Il est toujours utile de centraliser les variables de configuration d’un site dans un fichier unique. Nous pourrions utiliser les constantes proposées par le langage PHP (identifiants de valeurs simples accessibles à tout endroit d’un script), mais CakePHP propose un moyen plus simple et plus pratique. Lire la suite