Bonjour je voudrais faire une table de configuration pour pour gérer par exemple l'ouverture d'inscription, le nom du site, le slogan, le format de date, autoriser ou non les commentaires.
Mais j'ai pas trop d'idée pour le faire avec CakePhp !
Est ce que vous pourrez m'aider SVP !:D
Ce que JE ferrai (étant débutant avec cake):
Tu fais donc une table config sans id. pour faire un tableau associatif. Et évidemment un crontroller qui récupère les données.
Ce controller tu l'appelles dans les autres où tu l'as besoin.
Exemple pour inscritption bah dans ton crotroller urser ta function add() tu dis que si(inscription == 1) tu balances le <form>. Sinon un message comme quoi les inscriptions sont close.
C'est comme ça que je ferrai mais encore une fois je suis un débutant dans cake donc j'attendrai l'avis de d'autres personnes ;) .
++
Ouais mais le problème ce qu'il faut faire une requête tout le temps ! Moi je préférais utiliser un truc comme ça !
<?php echo Configure::read('Config.isComment'); ?>
mais que tout ça soit gérer par un table Mysql !!!
Tu veux stocker la conf en SQL MAIS ne pas faire de requêtes pour la lire. J'ai du loupé un épisode
@grafikart: en gros j'ai l'impression qu'il veut utiliser les constantes que tu mets dans le core de cake pour la configuration. Et pourvoir les modifier via un formulaire dans son administration.
Comme pour :
Configure::write('Security.salt', 'ABCD123456');
faire:
Configure::write('SonSite.inscription', 'on');
Configure::write('SonSite.Nom', 'Mon Site');
Puis ensuite faire des ::read pour faire des conditions pour afficher ou non son formulaire d'inscription. Si j'ai bien compris.
@Hotgeart Oui c bien ce que je veux faire !! et si j'ai pas le choix de faire une requête ce pas grave je la ferait !
Tu enregistre ça dans une table 'config', avec les champs genre 'open, comments_allow' ... et tu me juse une ligne :
'open, comments_allow
'1 , 1'
Ensuite tu récupère ça dans un tableau via une requête simple. Ça te donnera quelque chose comme $config[champ] = value.
Après, si tu veux vraiment passer par Configure, je vois pas comment tu peux faire une requête dans ce fichier
Bonjour a tous =)
Il existe un plugin qui permet de gérer la configuration. Je l'utilise actuellement. Il est très simple d'utilisation.
Les configurations sont stockées en base de donnée dans une table de la forme : configurations(id, key, value)
Puis dans l'AppController, il faut appeler une fonction qui va faire 1 requête SQL puis stocker les différentes valeurs grâce a Configure::write('key', 'value'). Dans tout ton code, il te suffira d'utiliser Configure::read('key');
Tu peux ensuite l'améliorer en ajoutant un système de cache. Puis dans le callback afterSave() et afterDelete(), tu supprime et régénère le cache.
Ce plugin est disponible ici : http://www.webtechnick.com/blogs/view/223/CakePHP_Configuration_Plugin
J’espère que ça t'aidera.